/**
* MySQL数据表代码生成
*/
@Test
public void mysqlGen(){
//数据库连接
String url = "jdbc:mysql://xx.xxx.x.x:3306/bootdemo?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true";
//数据用户名
String username = "root";
//数据库密码
String password = "root";
FastAutoGenerator.create(url,username,password)
.globalConfig(builder -> {
builder.author("xgblack") // 设置作者
//.enableSwagger() // 开启 swagger 模式
//.fileOverride() // 覆盖已生成文件,3.5.4版本后方法废弃
.disableOpenDir()
.outputDir("E:\\Files\\Tmp\\gen\\"); // 指定输出目录(代码文件输出目录)
})
.packageConfig(builder -> {
builder.parent("com.demo") // 设置父包名
.moduleName("app") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\Files\\Tmp\\gen\\mapper\\")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
//基础配置
builder
//.addTablePrefix() // 设置过滤表前缀
.addInclude("engine_job"); // 设置需要生成的表名
})
.strategyConfig(builder -> {
//实体类相关配置
builder.entityBuilder()
.enableTableFieldAnnotation() // 开启实体类字段注解
.enableLombok() // 开启lombok
.enableChainModel() // 开启链式模式
.enableFileOverride(); // 覆盖已生成文件
})
.strategyConfig(builder -> {
//mapper相关配置
builder.mapperBuilder()
.enableBaseResultMap() // 开启BaseResultMap
.enableBaseColumnList() // 开启BaseColumnList
.enableFileOverride(); // 开启覆盖已生成文件
})
.strategyConfig(builder -> {
//service相关配置
builder.serviceBuilder()
.enableFileOverride(); // 开启覆盖已生成文件
})
.strategyConfig(builder -> {
//controller相关配置
builder.controllerBuilder()
//.enableRestStyle() //开启生成@RestController控制器
//.enableHyphenStyle() // 开启驼峰转连字符
.enableFileOverride(); // 覆盖已生成文件
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
/**
* PG 数据表代码生成
*/
@Test
public void pgGen(){
//数据库连接
String url = "jdbc:postgresql://127.0.0.1:5432/bootdemopg";
//数据用户名
String username = "postgres";
//数据库密码
String password = "postgres";
//模式名
String schemaName = "animal";
FastAutoGenerator.create(new DataSourceConfig.Builder(url, username, password).schema(schemaName))
.globalConfig(builder -> {
builder.author("xgblack") // 设置作者
//.enableSwagger() // 开启 swagger 模式
//.fileOverride() // 覆盖已生成文件,3.5.4版本后方法废弃
.disableOpenDir()
.outputDir("E:\\Codes\\project_xg\\bootdemo\\src\\main\\java\\"); // 指定输出目录(代码文件输出目录)
})
.packageConfig(builder -> {
builder.parent("com.demo") // 设置父包名
.moduleName("app") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\Codes\\project_xg\\bootdemo\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
//基础配置
builder
//.addTablePrefix() // 设置过滤表前缀
.addInclude("engine_job"); // 设置需要生成的表名
})
.strategyConfig(builder -> {
//实体类相关配置
builder.entityBuilder()
.enableTableFieldAnnotation() // 开启实体类字段注解
.enableLombok() // 开启lombok
.enableChainModel() // 开启链式模式
.enableFileOverride(); // 覆盖已生成文件
})
.strategyConfig(builder -> {
//mapper相关配置
builder.mapperBuilder()
.enableBaseResultMap() // 开启BaseResultMap
.enableBaseColumnList() // 开启BaseColumnList
.enableFileOverride(); // 开启覆盖已生成文件
})
.strategyConfig(builder -> {
//service相关配置
builder.serviceBuilder()
.enableFileOverride(); // 开启覆盖已生成文件
})
.strategyConfig(builder -> {
//controller相关配置
builder.controllerBuilder()
//.enableRestStyle() //开启生成@RestController控制器
//.enableHyphenStyle() // 开启驼峰转连字符
.enableFileOverride(); // 覆盖已生成文件
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
mybatisplus代码生成器策略
最新推荐文章于 2024-08-15 10:30:54 发布