依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- mybatis-plus-generator -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!-- freemarker 模板引擎 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
运行代码
public static void main(String[] args) {
/**
* System.getProperty("user.dir") 获取当前文件夹
*/
String currentFile = System.getProperty("user.dir");
/**
* 包名
*/
String packageName = "com.example.rockermq";
/**
* 生成
*/
FastAutoGenerator.create("jdbc:mysql://localhost:3306/example?serverTimezone=UTC", "root", "root")
.globalConfig(builder -> {
//设置作者
builder.author("Mr.Ma")
//开启 swagger 模式
//.enableSwagger()
//覆盖已生成文件
.fileOverride()
//禁止打开输出目录 默认值:true
.disableOpenDir()
//默认值: DateType.TIME_PACK
.dateType(DateType.TIME_PACK)
//指定输出目录
.outputDir(currentFile + "/src/main/java");
})
.packageConfig(builder -> {
//设置父包名
builder.parent(packageName)
//设置父包模块名
//.moduleName("rockermq")
//Entity 包名
//.entity("entity")
//.other("dto") // 设置dto包名
//.mapper()
//.service()
//.serviceImpl()
//.controller()
//设置mapperXml生成路径
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, currentFile + "/src/main/resources/" + packageName + "/mappers"));
})
.strategyConfig(builder -> {
// 设置需要生成的表名
builder.addInclude("user_operation_log")
//.addTablePrefix("t_", "c_") //设置过滤表前缀
//Entity策略配置
.entityBuilder()
.enableLombok() // 开启 lombok 模型
.enableTableFieldAnnotation() // 开启生成实体时生成字段注解
//Mapper策略配置
.mapperBuilder()
.enableMapperAnnotation() // 开启 @Mapper 注解
//.enableBaseColumnList() // 启用 BaseColumnList
.enableBaseResultMap() // 启用 BaseResultMap 生成
.serviceBuilder()
//"%sService" 去掉Service接口的首字母I
.formatServiceFileName("%sService")
//Controller策略配置
.controllerBuilder()
.enableRestStyle() // 开启生成@RestController 控制器
.enableHyphenStyle();
})
//使用Freemarker引擎模板,默认的是Velocity引擎模板
.templateEngine(new FreemarkerTemplateEngine())
// 生成DTO VO
/*.injectionConfig(consumer -> {
Map<String, String> customFile = new HashMap<>();
// DTO
customFile.put("DTO.java", "/templates/entity.java");
consumer.customFile(customFile);
})*/
// 执行
.execute();
}