MyBatisPlus3.4.3版自動生成代碼的使用過程
AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發(fā)效率。
1 準備工作
創(chuàng)建springboot工程,這里省略。
2 導(dǎo)入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- mybatisplus依賴,注意不用引入mybatis依賴-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- mysql依賴可換成對應(yīng)版本 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- mybatis-plus代碼生成器依賴-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!-- 自動生成代碼的模板引擎,mybatis-plus默認的-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!-- 由于生成的controller會用到web的注解-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
3 創(chuàng)建CodeGeneratorTest類
需要對
- 數(shù)據(jù)源配置,(自己數(shù)據(jù)庫對應(yīng)的url,username,password等)
- 全局配置, (作者信息,輸出目錄等)
- 包配置, (Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的包命名等)
- 策略配置, (配置生成那些表,怎么生成等)
- 模板配置
- 注入配置
注意以下路徑需要修改為實制項目路徑,要生成的數(shù)據(jù)庫表名需要修改為實制的,數(shù)據(jù)庫源url修改為對應(yīng)的數(shù)據(jù)源
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;
import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler;
import org.junit.Test;
import java.util.Collections;
/**
* @author: wuKeFan
* @date: 2022/2/24 10:39
* @version 1.0
*/
public class CodeGeneratorTest {
@Test
public void run() {
FastAutoGenerator.create(
//數(shù)據(jù)源配置,url需要修改
new DataSourceConfig.Builder("url","username","password")
.dbQuery(new MySqlQuery())
.schema("schema")
.typeConvert(new MySqlTypeConvert())
.keyWordsHandler(new MySqlKeyWordsHandler())
)
//全局配置
.globalConfig(builder -> {
builder.author("wuKeFan") // 設(shè)置作者
//.disableOpenDir()//禁止打開輸出目錄
//.enableSwagger() // 開啟 swagger 模式
.fileOverride() // 覆蓋已生成文件
.outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定輸出目錄
})
//包配置
.packageConfig(builder -> {
builder.parent("com.wkf.workrecord.tools.autocode") // 設(shè)置父包名,根據(jù)實制項目路徑修改
.moduleName("web") // 父包名路徑下再新建的文件夾
.entity("entity") // 后面這些是sys文件夾里新建的各分類文件夾
.service("service")
.serviceImpl("service.impl")
.mapper("mapper")
.xml("mapper.xml")
.controller("controller")
//.other("other")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"/src/main/java/com/wkf/workrecord/tools/autocode/web/mapper/xml")); // 存放mapper.xml路徑
})
//策略配置
.strategyConfig(builder -> {
builder.addInclude("jm_fxy_apply_staging_plan_code") // 設(shè)置需要生成的表名
.addTablePrefix("jm_") // 設(shè)置過濾表前綴
.entityBuilder() //實體類配置
.enableLombok() //使用lombok
.enableTableFieldAnnotation()//實體類字段注解
.controllerBuilder()//controller配置
.enableRestStyle()//開啟restcontroller
.mapperBuilder()
.enableMapperAnnotation()//開啟mapper注解
.enableBaseResultMap()//啟用 BaseResultMap 生成
.enableBaseColumnList();//啟用 BaseColumnList
})
//.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認的是Velocity引擎模板
.execute();
}
}
4 運行代碼生成器
點擊運行上面的main方法就能自動生成了
生成的效果圖:

這樣代碼生成器就寫好了,如果需要其他格式模板可以自行參考下面的配置,自行修改
5 數(shù)據(jù)庫配置(DataSourceConfig)
5.1 基礎(chǔ)配置

5.2 可選配置

5.3 全局配置(GlobalConfig)

5.4 包配置(PackageConfig)

5.5 模板配置(TemplateConfig)

5.6 注入配置(InjectionConfig)

5.7 策略配置(StrategyConfig)

5.8 Entity 策略配置

5.9 Controller 策略配置

5.10 Service 策略配置

5.11 Mapper 策略配置

到此這篇關(guān)于MyBatisPlus3.4.3版自動生成代碼的使用的文章就介紹到這了,更多相關(guān)MyBatisPlus自動生成代碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 發(fā)送帶Basic Auth認證的http post請求實例代碼
下面小編就為大家?guī)硪黄猨ava 發(fā)送帶Basic Auth認證的http post請求實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
springboot+mybatis-plus+oracle實現(xiàn)邏輯刪除
最近在做一個前后端分離的小項目,需要刪除用戶表的用戶,本文主要實現(xiàn)了springboot+mybatis-plus+oracle邏輯刪除,具有一定的參考價值,感興趣的可以了解一下2021-08-08
java中實現(xiàn)兼容ie6 7 8 9的spring4+websocket
這篇文章主要介紹了java中實現(xiàn)兼容ie6 7 8 9的spring4+websocket程序代碼,十分的簡單實用,有需要的小伙伴可以參考下。2015-06-06
JAVA使用Gson解析json數(shù)據(jù)實例解析
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機器解析和生成。接下來通過本文給大家介紹JAVA使用Gson解析json數(shù)據(jù)實例解析,需要的朋友參考下吧2016-03-03

