MyBatis Generator使用指南
2019-11-13 本文已影响0人
nzdxwl
简介
MyBatis Generator是一个代码生成器,为使用MyBatis或iBatis框架的项目生成相应数据库相关代码(对应数据库表的Java普通类对象、SQL语句映射xml文件,以及对应的DAO类),当前版本支持MyBatis所有版本,只支持iBatis 2.2.0之后的版本。
- 官网:http://mybatis.org/generator/index.html
- 最新的版本是 2018年7月发布的
1.3.7
版本 - 1.3.7版本是1.3.6版本上面一些细小bug修复和增强,1.3.7版本之后将不再支持iBatis,并且需要JDk1.8或以上来运行。
配置文件
<?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>
<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 去掉mybatis生成的注释 -->
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"
connectionURL="jdbc:db2:TEST"
userId="db2admin"
password="db2admin">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="test.model" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="test.xml" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<property name="useActualColumnNames" value="true"/>
<generatedKey column="ID" sqlStatement="DB2" identity="true" />
<columnOverride column="DATE_FIELD" property="startDate" />
<ignoreColumn column="FRED" />
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
</table>
</context>
</generatorConfiguration>
配置说明
- classPathEntry: 指定驱动类所在路径
- 可在commentGenerator配置不为字段和方法生成注释
- javaModelGenerator标签对应Model
- sqlMapGenerator对应Mapper.xml文件,当生成注解方式
- javaClientGenerator对应Mapper的java文件,有两种配置:ANNOTATEDMAPPER - SQL以注解方式保存在Java的Mapper类内部,XMLMAPPER - 不使用注解,生成Java Mapper接口和xml文件
- table标签中schema对应数据库
- 可同时生成多个表
- 可将数据库相关信息以key=value的方式保存到properties文件中,使用properties标签读取并用户key值代替xml配置文件中的相关配置信息
常用驱动程序下载
以上是在官网下载,也可以在项目中使用对应的依赖项从Maven仓库下载到本地。
以MySQL最新的驱动为例,在pom文件中添加以下依赖项后自动下载到本地仓库,然后从本地仓库取出或者直接指向该jar:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
执行
假设将jar文件放在lib目录下,配置文件放在config目录下面,执行命令如下:
java -jar lib/mybatis-generator-core-1.3.7.jar -configfile config/generator_config.xml -overwrite