SpringBoot 之 Mybatis 逆向工程

匿名 (未验证) 提交于 2019-12-02 23:43:01
  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. 项目结构如图。按照如图所示,点击插件生成即可。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!