網(wǎng)站首頁 編程語言 正文
目錄
- 一、導(dǎo)入依賴
- 二、數(shù)據(jù)庫
- 三、實(shí)現(xiàn)代碼
一、導(dǎo)入依賴
<!-- velocity 模板引擎, Mybatis Plus 代碼生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--lombok用來簡化實(shí)體類:需要安裝lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
二、數(shù)據(jù)庫
demo_db 庫 user 表
三、實(shí)現(xiàn)代碼
@SpringBootTest
class DemoApplicationTests {
@Test
void contextLoads() {
// 創(chuàng)建代碼生成器
AutoGenerator autoGenerator = new AutoGenerator();
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
globalConfig.setOutputDir(projectPath + "/src/main/java");
globalConfig.setAuthor("aword");
// 生成后是否打開資源管理器
globalConfig.setOpen(false);
// 重新生成時(shí)文件是否覆蓋
globalConfig.setFileOverride(false);
// mp生成service層代碼,默認(rèn)接口名稱第一個(gè)字母有I
// 去掉Service接口的首字母I
globalConfig.setServiceName("%sService");
// 主鍵策略
globalConfig.setIdType(IdType.ID_WORKER);
// 定義生成的實(shí)體類中日期類型
globalConfig.setDateType(DateType.ONLY_DATE);
// 開啟Swagger2模式
globalConfig.setSwagger2(true);
autoGenerator.setGlobalConfig(globalConfig);
// 數(shù)據(jù)源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/demo_db?serverTimezone=GMT%2B8");
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
dataSourceConfig.setDbType(DbType.MYSQL);
autoGenerator.setDataSource(dataSourceConfig);
// 生成代碼包配置
PackageConfig packageConfig = new PackageConfig();
// 模塊包,controller,entity,mapper,service等包的上一級
packageConfig.setModuleName("demo");
// 模塊包的上一級
packageConfig.setParent("com.aword");
packageConfig.setController("controller");
packageConfig.setEntity("entity");
packageConfig.setService("service");
packageConfig.setMapper("mapper");
autoGenerator.setPackageInfo(packageConfig);
// 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
// 數(shù)據(jù)庫表名
strategyConfig.setInclude("user");
// 數(shù)據(jù)庫表映射到實(shí)體的命名策略
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
// 生成實(shí)體時(shí)去掉表前綴
strategyConfig.setTablePrefix(packageConfig.getModuleName() + "_");
// 數(shù)據(jù)庫表字段映射到實(shí)體的命名策略
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
// lombok 模型 @Accessors(chain = true) setter鏈?zhǔn)讲僮? strategyConfig.setEntityLombokModel(true);
// restful api風(fēng)格控制器
strategyConfig.setRestControllerStyle(true);
// url中駝峰轉(zhuǎn)連字符
strategyConfig.setControllerMappingHyphenStyle(true);
// 設(shè)置策略配置
autoGenerator.setStrategy(strategyConfig);
// 執(zhí)行
autoGenerator.execute();
System.out.println("生成代碼成功......");
}
}
生成目錄
原文鏈接:https://blog.csdn.net/qq_41610957/article/details/126939049
- 上一篇:Linux 內(nèi)存和SWAP使用
- 下一篇:Python 閉包與裝飾器
相關(guān)推薦
- 2022-07-13 SpringCloud之http客戶端Feign
- 2023-02-07 C語言可變參數(shù)與內(nèi)存管理超詳細(xì)講解_C 語言
- 2022-05-21 服務(wù)發(fā)現(xiàn)與負(fù)載均衡機(jī)制Service實(shí)例創(chuàng)建_服務(wù)器其它
- 2022-09-15 Python基本結(jié)構(gòu)之判斷語句的用法詳解_python
- 2022-07-23 Go語言學(xué)習(xí)筆記之文件讀寫操作詳解_Golang
- 2022-06-13 Openstack各組件邏輯關(guān)系及運(yùn)行流程解析_OpenStack
- 2022-10-17 .Net?Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟_實(shí)用技巧
- 2022-04-22 C#基于WinForm實(shí)現(xiàn)串口通訊_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支