mybatis是代码开发中常用的ORM框架,但是常用的三类文件靠手动生成很繁琐,一个配置不当就可能导致运行时报错(因为是动态代理实现,使用在编译期并不会报错),运行时报错有时候错误很宽泛,很难定位到具体原因。
本篇提供项目使用的生成方法,供大家参考。
generatorConfig.xml解析
文件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>
<!--配置mysql连接jar包-->
<classPathEntry
location="C:\Users\aaaaaa\.m2\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--mysql连接信息-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/test"
userId="test" password="test">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成的entity存放路径-->
<javaModelGenerator targetPackage="com.test.entity" targetProject="D:\code\admin-service\src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成的mapper.xml存放路径-->
<sqlMapGenerator targetPackage="mybatis.app" targetProject="D:\code\admin-service\src\main\resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成的dao文件存放路径-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao"
targetProject="D:\code\admin-service\src\main\java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--表信息-->
<table tableName="test_info" domainObjectName="TestInfo" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
pom文件添加plugin
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
运行
双击运行
运行成功!
总结
工欲善其事必先利其器。其实很久之前就一直这么用,但是一直没沉淀下来。最近也是给新来同事介绍这个,每个人都说一遍比较麻烦,还是写一篇记录下来,再有人问,直接一个链接给他,自己用去吧。