import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.zaxxer.hikari.HikariDataSource;
import yx.model.base.BaseEntity;
public class CodeGet {
// 数据库地址
static String jdbcUrl = "localhost:3306";
// 数据库
static String jdbcDatabase = "shequ-acl";
// 数据库账号
static String jdbcUserName = "root";
// 数据库密码
static String jdbcPassword = "123456";
// 生成文件路径
static String sourceDir = "F://yx-parent/service/service-acl/src/main/java";
// 生成包路径
static String basePackage = "yx.acl";
// 需要生成的表
static String generateTable = "admin";
public static void main(String[] args) {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://"+ jdbcUrl +"/"+jdbcDatabase+"?characterEncoding=utf-8");
dataSource.setUsername(jdbcUserName);
dataSource.setPassword(jdbcPassword);
//创建配置内容,两种风格都可以。
GlobalConfig globalConfig = createGlobalConfigUseStyle1();
//通过 datasource 和 globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig);
//生成代码
generator.generate();
}
public static GlobalConfig createGlobalConfigUseStyle1() {
//创建配置内容
GlobalConfig globalConfig = new GlobalConfig();
// 设置生成 Entity 并启用 Lombok、设置父类
globalConfig.enableEntity().setWithLombok(true).setSuperClass(BaseEntity.class);
//设置根包
globalConfig.getPackageConfig()
.setSourceDir(sourceDir)
.setBasePackage(basePackage);
//设置表前缀和只生成哪些表
// globalConfig.setGenerateSchema("shequ-acl");
// globalConfig.setTablePrefix("tb_");
globalConfig.setGenerateTable(generateTable);
//设置生成 entity 并启用 Lombok
globalConfig.setEntityGenerateEnable(true);
globalConfig.setEntityWithLombok(true);
//设置生成 mapper
globalConfig.setMapperGenerateEnable(true);
//设置生成 service
globalConfig.setServiceGenerateEnable(true);
//设置生成 serviceImpl
globalConfig.setServiceImplGenerateEnable(true);
//设置生成 controller
globalConfig.setControllerGenerateEnable(true);
//设置生成 mapperXml
globalConfig.setMapperXmlGenerateEnable(true);
//可以单独配置某个列
// ColumnConfig columnConfig = new ColumnConfig();
// columnConfig.setColumnName("tenant_id");
// columnConfig.setLarge(true);
// columnConfig.setVersion(true);
// globalConfig.setColumnConfig("account", columnConfig);
return globalConfig;
}
}
mybatis-flex代码生成器
于 2023-08-05 14:19:33 首次发布