|
@@ -2,7 +2,9 @@ package com.alvin;
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
|
|
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
|
|
+import com.baomidou.mybatisplus.generator.config.GlobalConfig;
|
|
|
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
|
|
+import com.baomidou.mybatisplus.generator.config.builder.Entity;
|
|
|
import com.baomidou.mybatisplus.generator.config.rules.DateType;
|
|
|
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
|
|
|
import com.baomidou.mybatisplus.generator.fill.Column;
|
|
@@ -30,20 +32,27 @@ public class Generator {
|
|
|
* @param service 是否生成 service
|
|
|
* @param serviceImpl 是否生成 serviceImpl
|
|
|
*/
|
|
|
- public static void generatorToFile(String db_url, String db_username, String db_password, String author,
|
|
|
- String javaDir, String parentPackage, String tableName, String tablePrefix,
|
|
|
+ public static void generatorToFile(String db_url, String db_username, String db_password,
|
|
|
+ String author, String javaDir, String parentPackage,
|
|
|
+ String tableName, String tablePrefix, Boolean swagger,
|
|
|
+ String logicDeleteField, String insertFields, String updateFields,
|
|
|
Boolean controller, Boolean service, Boolean serviceImpl) {
|
|
|
- FastAutoGenerator generator = FastAutoGenerator.create(db_url, db_username, db_password)
|
|
|
- //===全局配置
|
|
|
- .globalConfig(builder -> {
|
|
|
+ FastAutoGenerator generator = FastAutoGenerator.create(db_url, db_username, db_password);
|
|
|
+ GlobalConfig.Builder builder1 = new GlobalConfig.Builder();
|
|
|
+
|
|
|
+ //===全局配置
|
|
|
+ generator.globalConfig(builder -> {
|
|
|
builder.author(author) // 设置作者
|
|
|
.dateType(DateType.ONLY_DATE) // 设置日期为 Date
|
|
|
- .enableSwagger() // 开启 swagger 模式
|
|
|
.fileOverride() // 覆盖已生成文件
|
|
|
.outputDir(javaDir); // 指定输出目录
|
|
|
- })
|
|
|
- //===模块配置
|
|
|
- .packageConfig(builder -> {
|
|
|
+ if (swagger) {
|
|
|
+ builder.enableSwagger();// 开启 swagger 模式
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+ //===模块配置
|
|
|
+ generator.packageConfig(builder -> {
|
|
|
builder.parent(parentPackage) // 设置父包名
|
|
|
.moduleName("") // 设置父包模块名
|
|
|
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, javaDir + "/../resources/mapper")); // 设置mapperXml生成路径
|
|
@@ -55,17 +64,16 @@ public class Generator {
|
|
|
//mapper
|
|
|
builder.mapperBuilder().enableMapperAnnotation().build();
|
|
|
//实体类
|
|
|
- builder.entityBuilder()
|
|
|
- .enableLombok()
|
|
|
- .logicDeleteColumnName("use_status")
|
|
|
- .addTableFills(
|
|
|
- new Column("create_time", FieldFill.INSERT),
|
|
|
- new Column("create_id", FieldFill.INSERT),
|
|
|
- new Column("create_name", FieldFill.INSERT),
|
|
|
- new Column("edit_id", FieldFill.INSERT_UPDATE),
|
|
|
- new Column("edit_time", FieldFill.INSERT_UPDATE),
|
|
|
- new Column("edit_name", FieldFill.INSERT_UPDATE)
|
|
|
- );
|
|
|
+ Entity.Builder builder2 = builder.entityBuilder().enableLombok();
|
|
|
+ if (logicDeleteField != null && logicDeleteField.trim().length() > 0) {
|
|
|
+ builder2.logicDeleteColumnName(logicDeleteField);
|
|
|
+ }
|
|
|
+ for (String s : insertFields.split(",")) {
|
|
|
+ builder2.addTableFills(new Column(s.trim(), FieldFill.INSERT));
|
|
|
+ }
|
|
|
+ for (String s : updateFields.split(",")) {
|
|
|
+ builder2.addTableFills(new Column(s.trim(), FieldFill.INSERT_UPDATE));
|
|
|
+ }
|
|
|
// 设置需要生成的表名
|
|
|
for (String s : tableName.split(",")) {
|
|
|
builder.addInclude(s.trim());
|
|
@@ -78,19 +86,19 @@ public class Generator {
|
|
|
.templateConfig(builder -> builder.entity("templates/entity1.java"));
|
|
|
|
|
|
if (!controller) {
|
|
|
- generator.templateConfig(builder -> builder.entity("")); // 设置为空则不会生成该文件
|
|
|
+ generator.templateConfig(builder -> builder.controller("")); // 设置为空则不会生成该文件
|
|
|
} else {
|
|
|
- generator.templateConfig(builder -> builder.entity("templates/controller1.java"));
|
|
|
+ generator.templateConfig(builder -> builder.controller("templates/controller1.java"));
|
|
|
}
|
|
|
if (!service) {
|
|
|
- generator.templateConfig(builder -> builder.entity(""));
|
|
|
+ generator.templateConfig(builder -> builder.service(""));
|
|
|
} else {
|
|
|
- generator.templateConfig(builder -> builder.entity("templates/service1.java"));
|
|
|
+ generator.templateConfig(builder -> builder.service("templates/service1.java"));
|
|
|
}
|
|
|
if (!serviceImpl) {
|
|
|
- generator.templateConfig(builder -> builder.entity(""));
|
|
|
+ generator.templateConfig(builder -> builder.serviceImpl(""));
|
|
|
} else {
|
|
|
- generator.templateConfig(builder -> builder.entity("templates/serviceImpl1.java"));
|
|
|
+ generator.templateConfig(builder -> builder.serviceImpl("templates/serviceImpl1.java"));
|
|
|
}
|
|
|
generator.execute();
|
|
|
}
|