mybatis的自動(dòng)生成代碼顽染,網(wǎng)上主要有兩種方式愉粤。一種是使用idea的插件生成,另外一種則是直接在項(xiàng)目中集成jar或在maven中導(dǎo)入依賴;然后配置generatorConfig.xml文件千贯。兩種方式各有利弊吧孕似。第一種使用起來方便,但是不能定制表谊。第二種雖然配置起來麻煩點(diǎn)钞护,但是可以根據(jù)自己的情況進(jìn)行定制。最近在學(xué)習(xí)springboot的時(shí)候看到另外一種自動(dòng)生成的方式爆办。在module中配置生成难咕。(其實(shí)也就是第二種的另類使用)
1、在項(xiàng)目中創(chuàng)建module
image
2、配置module的pom.xml文件
在配置文件中加入下面代碼:
<dependencies>
<!--MySQL數(shù)據(jù)庫(kù)-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<!--mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<!-- mybatis 逆向生成工具 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
</dependencies>
3余佃、配置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>
<context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--指定生成的xxxMapper文件要繼承的MyMapper類的路徑-->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.han.utils.MyMapper"/>
</plugin>
<!--連接數(shù)據(jù)庫(kù)-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/testMybatisGenerator"
userId="root"
password="root">
</jdbcConnection>
<!-- 對(duì)應(yīng)生成的pojo所在包 -->
<javaModelGenerator targetPackage="com.han.pojo"
targetProject="mybatis-generatorConfig/src/main/java"/>
<!-- 對(duì)應(yīng)生成的mapper所在目錄 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="mybatis-generatorConfig/src/main/resources"/>
<!-- 配置mapper對(duì)應(yīng)的java映射 -->
<javaClientGenerator targetPackage="com.han.mapper"
targetProject="mybatis-generatorConfig/src/main/java"
type="XMLMAPPER"/>
<!--添加要生成的數(shù)據(jù)庫(kù)對(duì)應(yīng)表名-->
<table tableName="testTable"></table>
</context>
</generatorConfiguration>
4暮刃、添加執(zhí)行生成的java類
改java類主要執(zhí)行自動(dòng)生成代碼,并且指定generatorConfig.xml文件的路徑爆土。
我的java類命名為GeneratorDisplay.java
:
package com.han.mybatis;
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;
public class GeneratorDisplay {
public void generator() throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//指定逆向工程配置文件
File configFile = new File("mybatis-generatorConfig/generatorConfig.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);
}
public static void main(String[] args) throws Exception {
try {
GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5椭懊、添加MyMappe類
該類要和在generatorConfig.xml中填寫的路徑要一致。
image
完整代碼如下:
package com.han.utils;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
//TODO
//FIXME 特別注意步势,該接口不能被掃描到氧猬,否則會(huì)出錯(cuò)
}
6、自動(dòng)生成代碼
上面的步驟配置完之后坏瘩,運(yùn)行GeneratorDisplay.java就可以生成mapper文件以及pojo
image
完成狂窑!
如果有時(shí)間的話,建議看一看下面的相關(guān)連接桑腮。!0z0!
相關(guān)連接