• Mybatis-generator 逆向工程


      

    mybatis - generator 逆向工程

    首先我采用的是 运行插件 进行生成,我感觉比采用加载配置文件的方法更舒服

    第一步:引入依赖和插件 完整代码如下

       <dependencies>
           <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <version>8.0.16</version>
           </dependency>
           <dependency>
               <groupId>org.mybatis.spring.boot</groupId>
               <artifactId>mybatis-spring-boot-starter</artifactId>
               <version>2.1.4</version>
           </dependency>

           <dependency>
               <groupId>tk.mybatis</groupId>
               <artifactId>mapper-spring-boot-starter</artifactId>
               <version>2.1.5</version>
           </dependency>
           <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
           <dependency>
               <groupId>org.mybatis.generator</groupId>
               <artifactId>mybatis-generator-core</artifactId>
               <version>1.4.0</version>
           </dependency>

           <!-- lombok -->
           <dependency>
               <groupId>org.projectlombok</groupId>
               <artifactId>lombok</artifactId>
               <version>1.18.16</version>
           </dependency>

       </dependencies>

       <build>
           <plugins>
               <plugin>

                   <groupId>org.mybatis.generator</groupId>
                   <artifactId>mybatis-generator-maven-plugin</artifactId>
                   <version>1.3.7</version>

                   <dependencies>
                       <dependency>
                           <groupId>mysql</groupId>
                           <artifactId>mysql-connector-java</artifactId>
                           <version>8.0.16</version>
                       </dependency>
                       <dependency>
                           <groupId>com.softwareloop</groupId>
                           <artifactId>mybatis-generator-lombok-plugin</artifactId>
                           <version>1.0</version>
                       </dependency>
                   </dependencies>

                   <configuration>
                       <!--配置文件的路径-->
                       <configurationFile>./src/main/resources/generatorConfig.xml</configurationFile>
                       <overwrite>true</overwrite>
                   </configuration>

               </plugin>
           </plugins>
       </build>

    第二步 配置 generatorConfig 文件(集体配什么,配置文件有说明,看了之后会恍然大悟)

    <?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>
       <context id="testTables" targetRuntime="MyBatis3">

           <!--配置 Lombok 组件,注意 plugin 组件得放在 commentGenerator 前面 -->
           <plugin type="com.softwareloop.mybatis.generator.plugins.LombokPlugin">

               <property name="builder" value="true"/>
             
               <property name="data" value="true"/>
             
        <property name="allArgsConstructor" value="true"/>
               
               <property name="noArgsConstructor" value="true"/>
               
           </plugin>

           <commentGenerator>
               <!-- 是否去除自动生成的注释 true:是 : false:否 -->
               <property name="suppressAllComments" value="true" />
           </commentGenerator>
           <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
           <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                           connectionURL="jdbc:mysql://localhost:3306/datasource01?characterEncoding=utf-8"
                           userId="root"
                           password="mysql0902">
           </jdbcConnection>

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

           <!-- targetProject:生成Entity类的位置 -->
           <javaModelGenerator targetPackage="com.tt.mybatis_tk.entity.ment"
                               targetProject="src/main/java">
               <!-- enableSubPackages:是否让schema作为包的后缀 -->
               <property name="enableSubPackages" value="false" />
               <!-- 从数据库返回的值被清理前后的空格 -->
               <property name="trimStrings" value="true" />
           </javaModelGenerator>

           <!-- targetProject:mapper映射文件生成的位置 -->
           <sqlMapGenerator targetPackage="mapper.ment"
                            targetProject="src/main/resources">
               <!-- enableSubPackages:是否让schema作为包的后缀 -->
               <property name="enableSubPackages" value="false" />
           </sqlMapGenerator>

           <!-- targetPackage:mapper接口生成的位置 -->
           <javaClientGenerator type="XMLMAPPER"
                                targetPackage="com.tt.mybatis_tk.mapper"
                                targetProject="src/main/java">
               <!-- enableSubPackages:是否让schema作为包的后缀 -->
               <property name="enableSubPackages" value="false" />
           </javaClientGenerator>

         
    <!--   enableCountByExample="false"
            enableDeleteByExample="false"
        enableSelectByExample="false"
            enableUpdateByExample="false">
    不会生 Example 类
    -->
           <table tableName="data_source_record_line" domainObjectName="SourceRecordLine"
           enableCountByExample="false"
           enableDeleteByExample="false"
           enableSelectByExample="false"
           enableUpdateByExample="false">

               <generatedKey column="id" sqlStatement="JDBC"/>

           </table>

           <!-- 有些表的字段需要指定java类型
            <table schema="" tableName="">
               <columnOverride column="" javaType="" />
           </table> -->
       </context>
    </generatorConfiguration>

     

    第三步 启动:

    右侧 maven 找到项目组件 如下图

    img

     

     

  • 相关阅读:
    游戏开发之路小结(二):关于第一人称射击游戏开发实战小结
    游戏开发之路小结(一):关于太空射击游戏开发实战小结
    游戏开发要涉及的几个方面
    短短几行代码实现让摄像机跟随着物体效果
    关于移动设备几种屏幕输入方式的小结
    软件的体系架构摘要
    jQuery入门笔记之(一)选择器引擎-【转】
    ASCII码对照表
    将数字转出大写如:100转换后结果为一佰
    google搜索技巧总结
  • 原文地址:https://www.cnblogs.com/blog-tian/p/15054810.html
Copyright © 2020-2023  润新知