Mybatis Plus 3.x 自動生成代碼
package com.tonytaotao.dtsc.common.utils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
public class CodeGenerator {
public static void main(String[] args) {
// 生成文件輸出路徑
String outputDir = "E:\\xxx";
// 作者
String authorName = "xxx";
// 包名全路徑
String packageNameAllPath = "com.tonytaotao.dtsc";
// 模塊名
String moduleName = "module";
// 接口是否以I開頭
boolean serviceNameStartWithI = false;
// 對應表
String[] tableName = {"test"};
String dbUrl = "jdbc:mysql://localhost:3306/dtsc?useSSL=false&useUnicode=true&characterEncoding=UTF8&allowPublicKeyRetrieval=true&serverTimezone=GMT";
String dbUserName = "root";
String dbPassword = "123456";
String dbDriver = "com.mysql.jdbc.Driver";
DbType dbType = DbType.MYSQL;
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent(packageNameAllPath)
.setModuleName(moduleName)
.setController("controller")
.setService("service")
.setServiceImpl("service.impl")
.setMapper("mapper")
.setXml("mapper.xml")
.setEntity("entity");
// 數據源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(dbType)
.setDriverName(dbDriver)
.setUrl(dbUrl)
.setUsername(dbUserName)
.setPassword(dbPassword);
// 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true) // 是否大寫命名
.setRestControllerStyle(true) // 生成 @RestController 控制器
.setEntityLombokModel(true) // 是否爲lombok模型
.setNaming(NamingStrategy.underline_to_camel) // 數據庫表映射到實體的命名策略
.setColumnNaming(NamingStrategy.underline_to_camel) // 數據庫表字段映射到實體的命名策略, 未指定按照 naming 執行
.setControllerMappingHyphenStyle(true) // 駝峯轉連字符
.setInclude(tableName); // 需要包含的表名
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setActiveRecord(true)
.setAuthor(authorName)
.setOutputDir(outputDir)
.setIdType(IdType.AUTO)
.setFileOverride(true)
.setOpen(false);
if (!serviceNameStartWithI) {
globalConfig.setServiceName("%sService");
}
// 代碼生成器
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig)
.setTemplateEngine(new VelocityTemplateEngine());
autoGenerator.execute();
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.