官方文档参考
完成的配置参考
使用Mybatis逆向工程可以根据数据库的表自动生成pojo类
、mapper接口
、mapper映射文件
。
首先在 pom.xml
中导入所需要的包:
<dependency>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-coreartifactId>
<version>1.3.7version>
dependency>
然后创建mybatis-generator-config.xml
,位置为src/main/resources/mybatis
下:
下面需要更改的内容有:
- 数据库的连接
- 生成pojo类的位置
- 生成mapper映射文件的位置
- 生成mapper接口的位置
- 指定数据库的表
<generatorConfiguration>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
commentGenerator>
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/umserver"
userId="root"
password="666666">
<property name="nullCatalogMeansCurrent" value="true" />
jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
javaTypeResolver>
<javaModelGenerator targetPackage="com.coder.umserver.bean"
targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
<property name="constructorBased" value="false"/>
<property name="immutable" value="false"/>
<property name="trimStrings" value="true" />
javaModelGenerator>
<sqlMapGenerator targetPackage="mybatis/mapper"
targetProject="src/main/resources">
<property name="enableSubPackages" value="false" />
sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.coder.umserver.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
javaClientGenerator>
<table tableName="employee"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
table>
<table tableName="user_role" domainObjectName="UserRole">table>
context>
generatorConfiguration>
在配置好之后,执行下面的代码即可:
package com.coder.umserver.generator;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* @author :
* @date : 2020-03-22 14:40
* @description :
*/
public class Generator {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//指定逆向工程配置文件,可以使用绝对路径
File configFile = new File("mybatis-generator-config.xml文件位置");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}