转载: 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
逆向工程生成结果如下:
完!