在IDEA中使用MyBatis Generator逆向工程生成代码

转载: https://blog.csdn.net/for_my_life/article/details/51228098

本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件。

一、配置Maven pom.xml 文件

在pom.xml增加以下插件:


 1 <build>
 2   <finalName>zsxt</finalName>
 3   <plugins>
 4     <plugin>
 5       <groupId>org.mybatis.generator</groupId>
 6       <artifactId>mybatis-generator-maven-plugin</artifactId>
 7       <version>1.3.2</version>
 8       <configuration>
 9         <verbose>true</verbose>
10         <overwrite>true</overwrite>
11       </configuration>
12     </plugin>
13   </plugins>
14 </build>


配置好Maven插件,下面需要配置插件需要配置文件

二、在maven项目下的src/main/resources 目录下建立名为 Maven的项目配置文件存放路径如下图:generatorConfig.xml和generator.properties配置文件,

Maven的项目配置文件存放路径如下图:

generatorConfig.xml代码如下:


  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <!DOCTYPE generatorConfiguration
  3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5 
  6 <generatorConfiguration>
  7     <!--导入属性配置-->
  8     <properties resource="generator.properties"></properties>
  9 
 10     <!--指定特定数据库的jdbc驱动jar包的位置-->
 11     <classPathEntry location="${jdbc.driverLocation}"/>
 12 
 13     <context id="default" targetRuntime="MyBatis3">
 14 
 15         <!-- optional,旨在创建class时,对注释进行控制 -->
 16         <commentGenerator>
 17             <property name="suppressDate" value="true"/>
 18             <property name="suppressAllComments" value="true"/>
 19         </commentGenerator>
 20 
 21         <!--jdbc的数据库连接 -->
 22         <jdbcConnection
 23                 driverClass="${jdbc.driverClass}"
 24                 connectionURL="${jdbc.connectionURL}"
 25                 userId="${jdbc.userId}"
 26                 password="${jdbc.password}">
 27         </jdbcConnection>
 28 
 29 
 30         <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
 31         <javaTypeResolver>
 32             <property name="forceBigDecimals" value="false"/>
 33         </javaTypeResolver>
 34 
 35 
 36         <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
 37             targetPackage     指定生成的model生成所在的包名
 38             targetProject     指定在该项目下所在的路径
 39         -->
 40         <javaModelGenerator targetPackage="com.slx.zsxt.model"
 41                             targetProject="src/main/java">
 42 
 43             <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
 44             <property name="enableSubPackages" value="false"/>
 45             <!-- 是否对model添加 构造函数 -->
 46             <property name="constructorBased" value="true"/>
 47             <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
 48             <property name="trimStrings" value="true"/>
 49             <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
 50             <property name="immutable" value="false"/>
 51         </javaModelGenerator>
 52 
 53         <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
 54         <sqlMapGenerator targetPackage="com.slx.zsxt.mapper"
 55                          targetProject="src/main/java">
 56             <property name="enableSubPackages" value="false"/>
 57         </sqlMapGenerator>
 58 
 59         <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
 60                 type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
 61                 type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
 62                 type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
 63         -->
 64         <javaClientGenerator targetPackage="com.slx.zsxt.dao"
 65                              targetProject="src/main/java" type="XMLMAPPER">
 66             <property name="enableSubPackages" value="true"/>
 67         </javaClientGenerator>
 68 
 69 
 70         <table tableName="reguser" domainObjectName="User"
 71                enableCountByExample="false" enableUpdateByExample="false"
 72                enableDeleteByExample="false" enableSelectByExample="false"
 73                selectByExampleQueryId="false">
 74         </table>
 75 
 76         <table tableName="adminuser" domainObjectName="Admin"
 77                enableCountByExample="false" enableUpdateByExample="false"
 78                enableDeleteByExample="false" enableSelectByExample="false"
 79                selectByExampleQueryId="false">
 80         </table>
 81         <table tableName="configinfo" domainObjectName="Confinfo"
 82                enableCountByExample="false" enableUpdateByExample="false"
 83                enableDeleteByExample="false" enableSelectByExample="false"
 84                selectByExampleQueryId="false">
 85         </table>
 86         <table tableName="grade" domainObjectName="Grade"
 87                enableCountByExample="false" enableUpdateByExample="false"
 88                enableDeleteByExample="false" enableSelectByExample="false"
 89                selectByExampleQueryId="false">
 90         </table>
 91         <table tableName="gradelog" domainObjectName="Gradelog"
 92                enableCountByExample="false" enableUpdateByExample="false"
 93                enableDeleteByExample="false" enableSelectByExample="false"
 94                selectByExampleQueryId="false">
 95         </table>
 96         <table tableName="reginfo" domainObjectName="Reginfo"
 97                enableCountByExample="false" enableUpdateByExample="false"
 98                enableDeleteByExample="false" enableSelectByExample="false"
 99                selectByExampleQueryId="false">
100         </table>
101     </context>
102 </generatorConfiguration>


generator.propertites代码如下:


1 jdbc.driverLocation=E:\mysql\mysql-connector-java\5.1.20\mysql-connector-java-5.1.20.jar   数据库jar包的位置,注意双斜杠
2 jdbc.driverClass=com.mysql.jdbc.Driver   数据库驱动
3 jdbc.connectionURL=jdbc:mysql:///zsxt   数据库ip地址
4 jdbc.userId=root        用户名
5 jdbc.password=root    密码
 

三、在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件

点击 菜单run中Edit Configurations,会出现

点击+号,选择maven,会出现

在name和Commond line分别填上如上图所示,apply和ok

最后点击generator,生成model,mapper,dao

逆向工程生成结果如下:

完!

原文地址:https://www.cnblogs.com/seven1314pp/p/8674852.html