mybatis-generator自动生成model、mapper和xml

1、添加插件

在pom.xml中添加如下配置

<plugin>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-maven-plugin</artifactId>
   <!--注意版本要与下面一致-->
   <version>1.3.2</version>
   <configuration>
      <!--配置文件位置-->
      <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
      <verbose>true</verbose>
      <overwrite>true</overwrite>
   </configuration>
   <dependencies>
      <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <!--根据自己工程中的版本选择-->
         <version>5.1.30</version>
      </dependency>
      <dependency>
         <groupId>org.mybatis.generator</groupId>
         <artifactId>mybatis-generator-core</artifactId>
         <version>1.3.2</version>
      </dependency>
   </dependencies>
</plugin>

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>
    <!--数据库驱动,需要使用本地jar -->
    <classPathEntry
            location="D:\repository\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar" />
    <context id="MySQL2Tables" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <!--编码-->
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 格式化java代码 -->
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter" />
 
        <!--mapper接口禁用注解,默认给的啥用没有,自己手动添加吧-->
        <commentGenerator>
            <property name="suppressDate" value="true" />
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
 
        <!--数据库链接地址账号密码 -->
        <jdbcConnection
                driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://test.db.xxx.org:23301/xxxx?useUnicode=true&amp;characterEncoding=utf8&amp;allowMultiQueries=true"
                userId="root"
                password="password">
        </jdbcConnection>
 
        <!-- 把JDBC DECIMAL和NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="true" />
        </javaTypeResolver>
 
        <!--生成Model类存放位置 -->
        <javaModelGenerator targetPackage="com.bj58.jyfz.train.scf.test.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
 
        <!--生成映射文件存放位置 -->
        <sqlMapGenerator targetPackage="test_mappings" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
 
        <!--生成mapper接口存放位置 -->
        <!--ANNOTATEDMAPPER: 生成java类文件,基于注解的Mapper接口,不会有对应的XML映射文件
            MIXEDMAPPER:XML和注解的混合形式
            XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.bj58.jyfz.train.scf.test.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
 
        <!--生成对应表及类名,如果有多个表就写多个table标签,%表示所有的表,此时不需要配置domainObjectName-->
        <table tableName="wx_menu" domainObjectName="WxMenu" enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

3、生成

执行mvn mybatis-generator:generate命令即可,这里需要注意的是:由于很多项目都是父子项目,上述配置只需要在子项目中即可,执行命令时也需要进入相应的子项目再执行,否则mybatis-generator插件会识别失败!

mybatis-generator自动生成model、mapper和xml

上一篇:利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件


下一篇:Linux信号量同步共享内存实验.