1、编写genertorConfig.xml文件
一般genertorConfig.xml文件放置在src/main/resources目录中,以下配置文件元素详解
- generatorConfiguration 配置根目录
- properties 加载配置文件
- context 主体内容
- plugin 插件 SerializablePlugin 序列化插件 MapperPlugin tk的mybatis插件
- jdbcConnection 数据库连接
- javaModelGenerator 生成的实体对象
- sqlMapGenerator 生成的xml文件
- javaModelGenerator 生成的mapper接口文件
- table 数据库名配置
- generatedKey 主键设置
<?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="properties/jdbc.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<!-- caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true -->
<property name="caseSensitive" value="true"/>
</plugin>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
<jdbcConnection driverClass="${jdbc.driverClassName}"
connectionURL="${jdbc.url}}"
userId="${jdbc.username}"
password="${jdbc.password}"/>
<!--实体对象-->
<javaModelGenerator targetPackage="com.admin.client.model.other"
targetProject="${admin-client}/src/main/java">
</javaModelGenerator>
<!--xml文件-->
<sqlMapGenerator targetPackage="com.admin.service.mapping.other"
targetProject="src/main/java">
</sqlMapGenerator>
<!--mapper接口-->
<javaClientGenerator targetPackage="com.admin.service.mapping.other"
targetProject="src/main/java"
type="XMLMAPPER">
</javaClientGenerator>
<table tableName="test" >
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
注意项: ![](https://i-blog.csdnimg.cn/blog_migrate/d5cb41674cd77e726c0467ab647d5979.png)
1、这里使用了变量,这个变量引用的是就是jdbc.proerties配置文件里面配置项
2、这里的${admin-client}变量使用的是pom.xml文件里面定义的变量
3、这里特别说明一点,本人使用发现过一个bug,如果数据库中有多个database库,多个库有相同的表名。自动生成的时候会不确定生成那个库中的表,所以需要加上catalog来指定库
2、pom.xml的配置
在pom.xml的build-plugins中添加一个以下插件,其中configurationFile 元素指定就是generatroConfig.xml配置文件的位置
- overwrite 是否覆盖
- verbose 输出到控制台
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<configurationFile>src/main/resources/context/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.6</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
</dependencies>
</plugin>