MybatisPlus使用代碼生成器遇到的小問題(推薦)
MybatisPlus 給我們提供了更加強大的代碼生成器
MyBatisPlus 在3.0.3版本之前使用代碼生成器因為存在默認(rèn)依賴,所以不需要其他的依賴,項目中使用的是3.0.1的版本,所以不用添加其他依賴,添加之后反倒是會報錯,實際上MP官網(wǎng)上已經(jīng)說明了這一點,只是自己沒注意才出現(xiàn)錯誤
3.0.3版本之后就需要添加如下依賴
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.1</version> </dependency>
MP默認(rèn)將Velocity作為模板引擎,同時也支持Freemarker、Beetl 需要替換參看鏈接
這里貼一個比較簡單的代碼生成器代碼
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGeneration {
/**
*
* @Title: main
* @Description: 生成
* @param args
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("D:\\generation");//輸出文件路徑
gc.setFileOverride(true); // 是否文件覆蓋
gc.setActiveRecord(false);// 不需要ActiveRecord(實體類繼承Model)特性的請改為false
gc.setEnableCache(false);// XML 二級緩存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(true);// XML ColumnList
gc.setAuthor("lizhan");// 作者
// 自定義文件命名,注意 %s 會自動填充表實體屬性!
gc.setControllerName("%sController");
// 默認(rèn)service接口名IXXXService 自定義指定之后就不會用I開頭了
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImpl");
gc.setMapperName("%sMapper");
gc.setXmlName("%sMapper");
mpg.setGlobalConfig(gc);
// 數(shù)據(jù)源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("xxx");
dsc.setPassword("xxx");
dsc.setUrl("jdbc:mysql://localhost:3306/xxx");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setTablePrefix(new String[] { "sys_" });// 此處可以修改為您的表前綴
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略(下劃線轉(zhuǎn)駝峰)
strategy.setInclude("user"); // 需要生成的表名
strategy.setSuperServiceClass(null);
strategy.setSuperServiceImplClass(null);
strategy.setSuperMapperClass(null);
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.xxx");
pc.setController("controller");
pc.setService("service");
pc.setServiceImpl("impl");
pc.setMapper("mapper");
pc.setEntity("entity");
pc.setXml("xml");
mpg.setPackageInfo(pc);
// 執(zhí)行生成
mpg.execute();
}
}
PS:下面看下MybatisPlus自動生成代碼
POM依賴
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version></version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version></version> </dependency>
樣板代碼
//01配置鏈接數(shù)據(jù)源
public static DataSourceConfig dataSource() {
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);
/**************這里請?zhí)顚懩愕膇p和你的端口號及數(shù)據(jù)庫名稱**************/
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8");
/**************您的賬號**************/
dataSourceConfig.setUsername("root");
/**************您的密碼**************/
dataSourceConfig.setPassword("root");
//您的數(shù)據(jù)庫引擎
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
return dataSourceConfig;
}
//02配置全局
public static GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
/**************路徑**************/
globalConfig.setOutputDir("X:\\xxx\\" + "/src/main/java");
//不會默認(rèn)打開文件夾
globalConfig.setOpen(false);
//創(chuàng)建者
globalConfig.setAuthor("xxx");
//創(chuàng)建serviceImpl不會有大寫的I
globalConfig.setServiceName("%sService");
return globalConfig;
}
//03配置包信息
public static PackageConfig packageConfig() {
PackageConfig packageConfig = new PackageConfig();
/**************父級包名**************/
packageConfig.setParent("com.xxxxx");
//父級包名稱
packageConfig.setModuleName("generator");
packageConfig.setController("controller");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.impl");
packageConfig.setMapper("mapper");
packageConfig.setEntity("entity");
return packageConfig;
}
//04配置策略
public static StrategyConfig strategyConfig(){
StrategyConfig strategyConfig = new StrategyConfig();
//添加lombok
strategyConfig.setEntityLombokModel(true);
//下劃線轉(zhuǎn)駝峰
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
//同上
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
/**************要生成的表名**************/
strategyConfig.setInclude("xxx");
return strategyConfig;
}
public static void main(String[] args) {
//創(chuàng)建generator對象
AutoGenerator autoGenerator = new AutoGenerator();
//鏈接配置
autoGenerator.setDataSource(dataSource());
//全局配置
autoGenerator.setGlobalConfig(globalConfig());
//包信息
autoGenerator.setPackageInfo(packageConfig());
//配置策略
autoGenerator.setStrategy(strategyConfig());
//去吧皮卡丘
autoGenerator.execute();
}
總結(jié)
到此這篇關(guān)于MybatisPlus使用代碼生成器遇到的小問題(推薦)的文章就介紹到這了,更多相關(guān)MybatisPlus代碼生成器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
因BigDecimal類型數(shù)據(jù)引出的問題詳析
Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數(shù)進(jìn)行精確的運算,下面這篇文章主要給大家介紹了因BigDecimal類型數(shù)據(jù)引出的問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-08-08
SpringCloud Eureka實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)
Eureka是一種基于REST(具像狀態(tài)傳輸)的服務(wù),主要用于AWS云中定位服務(wù),以實現(xiàn)中間層服務(wù)器的負(fù)載平衡和故障轉(zhuǎn)移。本文記錄一個簡單的服務(wù)注冊與發(fā)現(xiàn)實例。感興趣的小伙伴們可以參考一下2019-01-01
如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率
這篇文章主要介紹了如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Java實現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換
本文主要介紹了Java 二維數(shù)組和稀疏數(shù)組轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06
IDEA關(guān)于.properties資源文件的編碼調(diào)整問題
這篇文章主要介紹了IDEA關(guān)于.properties資源文件的編碼調(diào)整問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
Java基礎(chǔ)類庫之StringBuffer類用法詳解
String類是在所有開發(fā)項目開發(fā)之中一定會使用的一個功能類。雖然String類很好用,但也有弊端——內(nèi)容不允許頻繁修改,所以為了解決問題,我們提供了StringBuffer類。本文就來講講StringBuffer類的用法2022-07-07
SpringBoot整合第三方技術(shù)的詳細(xì)步驟
這篇文章主要介紹了SpringBoot整合第三方技術(shù),包括整合Junit、整合Mybatis、整合Mybatis-plus、整合Druid,本文通過實例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03

