SpringBoot 之 Mybatis 逆向工程

时间:2019-06-17
本文章向大家介绍SpringBoot 之 Mybatis 逆向工程,主要包括SpringBoot 之 Mybatis 逆向工程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
  1. 今天给大家介绍在 spring- boot 项目中如何使用 maven 插件逆向工程生成 Mybatis 代码。

    pom.xml 添加依赖和插件

    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.0</version>
    </dependency>
    
    <build>
     <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
               <plugin>
                   <groupId>org.mybatis.generator</groupId>
                   <artifactId>mybatis-generator-maven-plugin</artifactId>
                   <version>1.3.2</version>
                   <configuration>
          <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                       <overwrite>true</overwrite>
                       <verbose>true</verbose>
                   </configuration>
                   <dependencies>
                       <dependency>
                           <groupId>mysql</groupId>
                           <artifactId>mysql-connector-java</artifactId>
                           <version>5.1.29</version>
                           <scope>runtime</scope>
                       </dependency>
                   </dependencies>
               </plugin>
               <plugin>
                   <groupId>org.jacoco</groupId>
                   <artifactId>jacoco-maven-plugin</artifactId>
                   <version>0.8.2</version>
                   <executions>
                       <execution>
                           <id>pre-test</id>
                           <goals>
                               <goal>prepare-agent</goal>
                           </goals>
                       </execution>
                       <execution>
                           <id>pre-test</id>
                           <phase>test</phase>
                           <goals>
                               <goal>report</goal>
                           </goals>
                       </execution>
                       <execution>
                           <id>post-test-aggregate</id>
                           <phase>test</phase>
                           <goals>
                               <goal>report-aggregate</goal>
                           </goals>
                       </execution>
                   </executions>
               </plugin>
     </plugins>
    </build>

    上图还配置了 jacoco 插件,为了使用看代码单元测试的覆盖率,不需要的同学可以去掉此插件。

    在 resources 根目录下创建 generator 文件夹,再在此文件夹下创建 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>
        <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://localhost:3306/parse_json"
                            userId="root"
                            password="root">
            </jdbcConnection>
            <javaTypeResolver>
                <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
            <!-- 生成实体类的包名和位置 ,targetPackage指的是包名,targetProject值得是路径位置-->
            <javaModelGenerator targetPackage="com.rookie.model" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <!-- 生成映射文件的包名和位置-->
            <sqlMapGenerator targetPackage="main.resources.com.rookie.mapper" targetProject="src">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <!-- 生成DAO的包名和位置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.rookie.mapper" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
            <table tableName="input_file_path" domainObjectName="FilePathDO"
                   enableCountByExample="false" enableUpdateByExample="false"
                   enableDeleteByExample="false" enableSelectByExample="false"
                   selectByExampleQueryId="false">
            </table>
        </context>
    </generatorConfiguration>
  2. 项目结构如图。按照如图所示,点击插件生成即可。

原文地址:https://www.cnblogs.com/miantiao312/p/11042219.html