生成的项目结构
代码
public class CodeGenerator {
public static void main(String[] args) {
String property = System.getProperty("user.dir");
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/lzxtmp?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC", "root", "root")
.globalConfig(builder -> {
builder.author("又菜又爱玩")
.enableSwagger()
.dateType(DateType.ONLY_DATE)
.commentDate("yyyy-MM-dd")
.disableOpenDir()
.outputDir(property + "/src/main/java");
})
.packageConfig(builder -> {
builder.parent("com.lzx.template")
.moduleName("")
.entity("pojo")
.service("service")
.serviceImpl("service/impl")
.controller("controller")
.mapper("mapper")
.xml("xml")
.pathInfo(Collections.singletonMap(OutputFile.xml, property + "/src/main/java/com/lzx/template/mapper/xml"));
})
.strategyConfig(builder -> {
builder.addInclude("sys_user")
.addFieldPrefix("")
.serviceBuilder()
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
.entityBuilder()
.enableColumnConstant()
.naming(NamingStrategy.underline_to_camel)
.enableChainModel()
.enableLombok()
.addTableFills(new Property("creat_time", FieldFill.INSERT))
.addTableFills(new Property("update_time",FieldFill.INSERT_UPDATE))
.logicDeletePropertyName("deleted")
.enableTableFieldAnnotation()
.controllerBuilder()
.formatFileName("%sController")
.enableRestStyle()
.mapperBuilder()
.superClass(BaseMapper.class)
.formatMapperFileName("%sDao")
.formatXmlFileName("%sMapper");
})
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}