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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    AS3.0函数定义的方法
    AS3.0的int uint Number的使用原则
    AS3的数据类型和定义
    把AS代码链接到fla文件
    试题
    【転載】LOOP
    【購買管理】注文請書とは? 注文書との違いと書き方、収入印紙の必要性
    共通系
    【转载】SAP ABAP开发技术总结]数据引用(data references)、对象引用(object references)
    CALL FUNCTION
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/10917964.html
Copyright © 2011-2022 走看看