• 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同级,不要在其内部写,会报错,正确的应该是这样:

     第二步:添加配置文件

    需要修改其中的部分参数,例如数据库连接参数、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 id="DB2Tables" targetRuntime="MyBatis3">
    
    
            <!--    去掉自动生成的注释    -->
            <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中可以直接运行自动生成插件

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

    如果系统是用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>
  • 相关阅读:
    全民学python(01)
    如何从标准输入读入数据(2) -- c++语言
    如何从标准输入读入数据(1) -- java语言
    测试markdown格式
    java入门(6)--面向对象初探
    java入门(5)--数组
    java入门(4)--流程控制
    java入门(3)--函数
    java入门(2)--数据类型
    java入门(1)--介绍
  • 原文地址:https://www.cnblogs.com/phdeblog/p/13305397.html
Copyright © 2020-2023  润新知