zoukankan      html  css  js  c++  java
  • mybatis generatorConfig.xml生成配置文件及三种运行方式

    https://blog.csdn.net/gavin5033/article/details/83002335

    一 ,cmd命令执行配置文件
    本人工作目录结构(图一)

    在自己放配置文件的目录下新建generatorConfig.xml,与我的目录不冲突,放哪里都可以。
    generatorConfig.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>

    <!-- 引入mysql-connector-java-5.1.30.jar位置 -->
    <classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" />


    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
    <commentGenerator>
    <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!-- 数据库连接 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/huahua" userId="root" password="root">
    </jdbcConnection>

    <!--
    默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
    true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
    -->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!--
    生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
    也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
    -->
    <javaModelGenerator targetPackage="com.entity" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    <!-- 从数据库返回的值被清理前后的空格 -->
    <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <!--对应的mapper.xml文件 -->
    <sqlMapGenerator targetPackage="com.mapping" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <!-- 对应的Mapper接口类文件 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
    <table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

    </context>
    </generatorConfiguration>
    2 . 根据上图配置好后,下载下载mybatis-generator-core,用于cmd启动xml文件。
    下载地址,我用的1.3.2版本:
    http://download.csdn.net/download/qq_22860341/9849578
    将下载好的mybatis-generator-core-1.3.2放在与generatorConfig.xml同一目录下,如上图所示我放在项目上的位置和下图所示根目录路径:


    3.配置和启动就需要一个如上所示的xml文件和jar即可。
    打开cmd,进入上图路径下的lib目录,复制脚本:Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

    回车运行如下:


    这样在你xml配置的路径下就有了,项目上刷新就出来了。


    二 ,通过Main方法执行配置文件
    generatorConfig.xml配置:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>

    <!-- 引入mysql-connector-java-5.1.30.jar位置 -->
    <!-- <classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" /> -->


    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
    <commentGenerator>
    <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!-- 数据库连接 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/huahua" userId="root" password="root">
    </jdbcConnection>

    <!--
    默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
    true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
    -->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!--
    生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
    也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
    -->
    <javaModelGenerator targetPackage="com.entity" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    <!-- 从数据库返回的值被清理前后的空格 -->
    <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <!--对应的mapper.xml文件 -->
    <sqlMapGenerator targetPackage="com.mapping" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <!-- 对应的Mapper接口类文件 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
    <table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

    </context>
    </generatorConfiguration>
    2.java.main方法执行代码:

    package com.text;

    import java.io.*;
    import java.util.*;
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.internal.DefaultShellCallback;
    //以上import需要 mybatis-generator-core-1.3.2.jar

    public class Text {

    public static void main(String[] args) {
    try {
    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    String genCfg = "/generatorConfig.xml";
    File configFile = new File(Text.class.getResource(genCfg).getFile());
    ConfigurationParser cp = new ConfigurationParser(warnings);
    Configuration config = null;
    config = cp.parseConfiguration(configFile);
    DefaultShellCallback callback = new DefaultShellCallback(overwrite);
    MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);

    myBatisGenerator.generate(null);

    } catch (Exception e) {
    e.printStackTrace();
    }

    }

    }
    三,通过Maven插件运行。
    上面我们的工程是通过maven构建的,mybatis generator中也包含了一个可以集成到Maven的插件,具体做法如下:
    修改pom.xml文件,在project标签里面加入如下:

    <build>
    <plugins>
    <plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
    </configuration>
    </plugin>
    </plugins>
    </build>
    2.generatorConfig.xml中如下,有这行:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>

    <!-- 引入mysql-connector-java-5.1.30.jar位置 -->
    <classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" />


    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
    <commentGenerator>
    <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!-- 数据库连接 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/huahua" userId="root" password="root">
    </jdbcConnection>

    <!--
    默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
    true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
    -->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!--
    生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
    也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
    -->
    <javaModelGenerator targetPackage="com.entity" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    <!-- 从数据库返回的值被清理前后的空格 -->
    <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <!--对应的mapper.xml文件 -->
    <sqlMapGenerator targetPackage="com.mapping" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <!-- 对应的Mapper接口类文件 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:workspacemaven_testsrcmainjava">
    <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
    <table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

    </context>
    </generatorConfiguration>
    3,运行方法:在eclipse 中,选择pom.xml文件,击右键先择Run AS——>Maven Build… ——>在Goals框中输入:mybatis-generator:generate

    --------------------- 作者:飞奔的波大爷 来源:CSDN 原文:https://blog.csdn.net/qq_22860341/article/details/72638725?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!
    ---------------------
    作者:gavin5033
    来源:CSDN
    原文:https://blog.csdn.net/gavin5033/article/details/83002335
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    delphi7在windows server 2003企业版上不能打开项目的选项(Options)窗口的解决方法
    简单的两个字“谢谢”,会让我坚持我的写作,我也要谢谢你们
    F41GUT 安装Windows server 2003系统后无法安装显卡驱动的解决办法
    远程桌面无法登录windows server 2003服务器
    F41GUT 安装Windows server 2003系统后无法安装显卡驱动的解决办法
    MS SQL Server 2000版在windows server 2003企业版系统上运行时造成数据库suspect的解决方法
    delphi7在windows server 2003企业版上不能打开项目的选项(Options)窗口的解决方法
    远程桌面无法登录windows server 2003服务器
    MS SQL Server 2000版在windows server 2003企业版系统上运行时造成数据库suspect的解决方法
    关于ajax 和josn
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/10917964.html
Copyright © 2011-2022 走看看