Mybatis-generator逆向工程

使用逆向工程优点:

无需自己手动去创建 实体类、接口类和xml文件、加快了开发效率。

使用逆向工程缺点:

会生成冗余代码,需要自己后期删减。

   

1、maven项目在mybatis 的基础上引入mybatis-generator插件:

   

  • <!--引入mybatis-gennerator插件-->
  • <plugin>
  •     <groupId>org.mybatis.generator</groupId>
  •     <artifactId>mybatis-generator-maven-plugin</artifactId>
  •     <version>1.3.2</version>
  •     <configuration>
  •         <verbose>true</verbose>
  •         <overwrite>true</overwrite>
  •         <!--读取逆向工程的配置文件,按照配置文件在指定目录生成从java\xml-->
  •         <configurationFile>src/main/resources/genneratorConfig.xml</configurationFile>
  •     </configuration>
  • </plugin>

   

   

  1. <!--idea里的xml文件,只支持在resource中读取,此处配置后,可以在其它地方读取-->
  2. <resources>
  3.     <resource>
  4.         <directory>src/main/java</directory>
  5.         <includes>
  6.             <include>**/*.xml</include>
  7.         </includes>
  8.     </resource>
  9. </resources>

   

2、在resource项目中新建mybatisConfig.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>
  •     <!--加载资源文件-->
  •     <properties resource="generator.properties"></properties>
  •     <classPathEntry location="${jdbc.driverLocation}"/>
  •     <context id="testTables" targetRuntime="MyBatis3">
  •         <commentGenerator>
  •             <!--是否去除自动生成的注释 true是:false 否-->
  •             <property name="suppressAllComments" value="true"/>
  •         </commentGenerator>
  •         <!--数据库连接-->
  •         <jdbcConnection driverClass="${jdbc.driverClass}"
  •                         connectionURL="${jdbc.connectionURL}"
  •                         userId="${jdbc.userId}"
  •                         password="${jdbc.pwd}">
  •         </jdbcConnection>
  •         <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal -->
  •         <javaTypeResolver>
  •             <property name="forceBigDecimals" value="false"/>
  •         </javaTypeResolver>
  •         <!--targetPackage目标包,生成实体类的位置-->
  •         <javaModelGenerator targetPackage="top.mybatis.entity" targetProject="src/main/java">
  •             <!--enableSubPackages,是否让schema作为包的后缀-->
  •             <property name="enableSubPackages" value="false"/>
  •             <!--从数据库返回的值被清除前后空格-->
  •             <property name="trimStrings" value="true"/>
  •         </javaModelGenerator>
  •         <!--targetProject:mapper映射文件生成的位置-->
  •         <sqlMapGenerator targetPackage="top.mybatis.mapper" targetProject="src/main/java">
  •             <property name="enableSubPackages" value="false"></property>
  •         </sqlMapGenerator>
  •         <!--targetPackage:mapper接口生成的位置-->
  •         <javaClientGenerator type="XMLMAPPER" targetPackage="top.mybatis.mapper" targetProject="src/main/java">
  •             <property name="enableSubPackages" value="false"/>
  •         </javaClientGenerator>
  •         <!--指定数据库表,要和数据库中进行对应,否则将会出错-->
  •         <table tableName="user"  domainObjectName="User"
  •                enableCountByExample="false" enableUpdateByExample="false"
  •                enableDeleteByExample="false" enableSelectByExample="false"
  •                selectByExampleQueryId="false">
  •         </table>
  •         <table tableName="student"  domainObjectName="Student"
  •                enableCountByExample="false" enableUpdateByExample="false"
  •                enableDeleteByExample="false" enableSelectByExample="false"
  •                selectByExampleQueryId="false">
  •         </table>
  •     </context>
  • </generatorConfiguration>

   

   

3、在idea中创建mybatis-generator启动方式

Mybatis-generator:generate -e

   

   

4、运行generator

①idea配置运行

②maven插件运行

  

posted @ 2020-10-19 01:12  黑质白章  阅读(179)  评论(0编辑  收藏  举报