mybatis-generator逆向工程自动生成mapper 第一步:引入依赖和插件  第二步:添加配置文件 第三步:运行插件  补充:多模块系统下的使用

说明:配置文件只注释了用到的功能,如果需要详细的说明,可以前往官网:https://mybatis.org/generator/

    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
    </dependency>
<plugins>
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.5</version>
        <dependencies>
          <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
          </dependency>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>mybatis  generator</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <!--配置文件的位置-->
          <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
          <!--           允许移动生成的文件 -->
          <verbose>true</verbose>
          <!--            是否覆盖-->
          <overwrite>true</overwrite>
        </configuration>
      </plugin>
    </plugins>

其中插件需要和标签pluginManagement同级,不要在其内部写,会报错,正确的应该是这样:

mybatis-generator逆向工程自动生成mapper
第一步:引入依赖和插件
 第二步:添加配置文件
第三步:运行插件
 补充:多模块系统下的使用

 第二步:添加配置文件

需要修改其中的部分参数,例如数据库连接参数、mapper存放的位置等。

<?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>
    <!--    <classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />-->

    <context >


        <!--    去掉自动生成的注释    -->
        <commentGenerator >
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1/db_czams"
                        userId="root"
                        password="">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>


        <!--生成的DataObject类存放位置(pojo)-->
        <javaModelGenerator targetPackage="com.czams.core.pojo" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--        生成的映射文件存放位置-->
        <sqlMapGenerator targetPackage="mapper"  targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--        生成的DAO所在位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.czams.core.mapper"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!--        生成对应表及表格-->
        <!--        <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >-->
        <!--            <property name="useActualColumnNames" value="true"/>-->
        <!--            <generatedKey column="ID" sqlStatement="DB2" identity="true" />-->
        <!--            <columnOverride column="DATE_FIELD" property="startDate" />-->
        <!--            <ignoreColumn column="FRED" />-->
        <!--            <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->
        <!--        </table>-->
<table tableName="tb_arch_type" domainObjectName="ArchTypeDao" enableCountByExample="false" enableDeleteByExample="false" enableUpdateByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>

第三步:运行插件

如果第一步成功添加插件,那么在idea中可以直接运行自动生成插件

mybatis-generator逆向工程自动生成mapper
第一步:引入依赖和插件
 第二步:添加配置文件
第三步:运行插件
 补充:多模块系统下的使用

 补充:多模块系统下的使用

如果系统是用maven构建的多模块系统,那么可能出现这种情况:接口和java对象不在一个模块下的,这种情况也是可以用自动生成工具的。只需要将相对路径改成绝对路径即可。例如:

        <!--生成的DataObject类存放位置(pojo)-->
        <javaModelGenerator targetPackage="com.czams.core.pojo" targetProject="C:/project/src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>