mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
Merge pull request #502 from coder-xiaomo/feat-lombokConstructorEnable
feat: 支持配置 entity 类 lombok 注解生成 (`@NoArgsConstructor`, `@AllArgsConstructor`)
This commit is contained in:
commit
b326a824b8
@ -306,6 +306,8 @@ globalConfig.getTemplateConfig()
|
||||
| setEntityBaseOverwriteEnable(boolean) | 生成Base类时是否覆盖之前生成的文件 | false |
|
||||
| setImplInterfaces(Class[]) | Entity 默认实现的接口 | Serializable.class |
|
||||
| setWithLombok(boolean) | Entity 是否使用 Lombok 注解 | false |
|
||||
| lombokNoArgsConstructorEnable(boolean) | 当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @NoArgsConstructor 注解 | true |
|
||||
| lombokAllArgsConstructorEnable(boolean) | 当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @AllArgsConstructor 注解 | true |
|
||||
| setWithSwagger(boolean) | Entity 是否使用 Swagger 注解 | false |
|
||||
| setSwaggerVersion(EntityConfig.SwaggerVersion) | Swagger 注解版本 | SwaggerVersion.FOX |
|
||||
| setWithActiveRecord(boolean) | 是否生成 Active Record 模式的 Entity | false |
|
||||
|
||||
@ -75,6 +75,16 @@ public class EntityConfig implements Serializable {
|
||||
*/
|
||||
private boolean withLombok;
|
||||
|
||||
/**
|
||||
* 当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @NoArgsConstructor 注解。
|
||||
*/
|
||||
private boolean lombokNoArgsConstructorEnable = true;
|
||||
|
||||
/**
|
||||
* 当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @AllArgsConstructor 注解。
|
||||
*/
|
||||
private boolean lombokAllArgsConstructorEnable = true;
|
||||
|
||||
/**
|
||||
* Entity 是否使用 Swagger 注解。
|
||||
*/
|
||||
@ -278,6 +288,36 @@ public class EntityConfig implements Serializable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @NoArgsConstructor 注解。
|
||||
*/
|
||||
public boolean isLombokNoArgsConstructorEnable() {
|
||||
return lombokNoArgsConstructorEnable;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @NoArgsConstructor 注解。
|
||||
*/
|
||||
public EntityConfig setLombokNoArgsConstructorEnable(boolean lombokNoArgsConstructorEnable) {
|
||||
this.lombokNoArgsConstructorEnable = lombokNoArgsConstructorEnable;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @AllArgsConstructor 注解。
|
||||
*/
|
||||
public boolean isLombokAllArgsConstructorEnable() {
|
||||
return lombokAllArgsConstructorEnable;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当开启 Lombok 注解且不使用 Active Record 时,是否生成 Entity @AllArgsConstructor 注解。
|
||||
*/
|
||||
public EntityConfig setLombokAllArgsConstructorEnable(boolean lombokAllArgsConstructorEnable) {
|
||||
this.lombokAllArgsConstructorEnable = lombokAllArgsConstructorEnable;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否启用 Swagger。
|
||||
*/
|
||||
|
||||
@ -986,6 +986,34 @@ public class GlobalConfig implements Serializable {
|
||||
getEntityConfig().setWithLombok(entityWithLombok);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see EntityConfig#isLombokNoArgsConstructorEnable()
|
||||
*/
|
||||
public boolean isEntityLombokNoArgsConstructorEnable() {
|
||||
return getEntityConfig().isLombokNoArgsConstructorEnable();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see EntityConfig#setLombokNoArgsConstructorEnable(boolean)
|
||||
*/
|
||||
public EntityConfig setEntityLombokNoArgsConstructorEnable(boolean entityLombokNoArgsConstructorEnable) {
|
||||
return getEntityConfig().setLombokNoArgsConstructorEnable(entityLombokNoArgsConstructorEnable);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see EntityConfig#isLombokAllArgsConstructorEnable()
|
||||
*/
|
||||
public boolean isEntityLombokAllArgsConstructorEnable() {
|
||||
return getEntityConfig().isLombokAllArgsConstructorEnable();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see EntityConfig#setLombokAllArgsConstructorEnable(boolean)
|
||||
*/
|
||||
public EntityConfig setEntityLombokAllArgsConstructorEnable(boolean entityLombokAllArgsConstructorEnable) {
|
||||
return getEntityConfig().setLombokAllArgsConstructorEnable(entityLombokAllArgsConstructorEnable);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see EntityConfig#isWithSwagger()
|
||||
*/
|
||||
|
||||
@ -83,7 +83,7 @@ public class EntityGenerator implements IGenerator {
|
||||
table.getColumns().removeIf(column -> globalConfig.getStrategyConfig().getIgnoreColumns().contains(column.getName().toLowerCase()));
|
||||
}
|
||||
|
||||
Map<String, Object> params = new HashMap<>(6);
|
||||
Map<String, Object> params = new HashMap<>(7);
|
||||
params.put("table", table);
|
||||
params.put("entityPackageName", packageConfig.getEntityPackage());
|
||||
params.put("entityConfig", entityConfig);
|
||||
@ -147,7 +147,7 @@ public class EntityGenerator implements IGenerator {
|
||||
table.getColumns().removeIf(column -> globalConfig.getStrategyConfig().getIgnoreColumns().contains(column.getName().toLowerCase()));
|
||||
}
|
||||
|
||||
Map<String, Object> params = new HashMap<>(6);
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("table", table);
|
||||
params.put("entityPackageName", baseEntityPackagePath.replace("/", "."));
|
||||
params.put("entityClassName", baseEntityClassName);
|
||||
|
||||
@ -30,10 +30,14 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
#else
|
||||
#if(entityConfig.isLombokAllArgsConstructorEnable())
|
||||
import lombok.AllArgsConstructor;
|
||||
#end
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
#if(entityConfig.isLombokNoArgsConstructorEnable())
|
||||
import lombok.NoArgsConstructor;
|
||||
#end
|
||||
#if(entityConfig.getSuperClass(table))
|
||||
import lombok.EqualsAndHashCode;
|
||||
#end
|
||||
@ -58,8 +62,12 @@ import lombok.EqualsAndHashCode;
|
||||
#else
|
||||
@Data
|
||||
@Builder
|
||||
#if(entityConfig.isLombokNoArgsConstructorEnable())
|
||||
@NoArgsConstructor
|
||||
#end
|
||||
#if(entityConfig.isLombokAllArgsConstructorEnable())
|
||||
@AllArgsConstructor
|
||||
#end
|
||||
#if(entityConfig.getSuperClass(table))
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
#end
|
||||
|
||||
@ -26,12 +26,16 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
#else
|
||||
#if(entityConfig.isLombokAllArgsConstructorEnable())
|
||||
import lombok.AllArgsConstructor;
|
||||
#end
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
#if(entityConfig.isLombokNoArgsConstructorEnable())
|
||||
import lombok.NoArgsConstructor;
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#if(jdkVersion >= 14)
|
||||
import java.io.Serial;
|
||||
#end
|
||||
@ -56,10 +60,14 @@ import java.io.Serial;
|
||||
#else
|
||||
@Data
|
||||
@Builder
|
||||
#if(entityConfig.isLombokNoArgsConstructorEnable())
|
||||
@NoArgsConstructor
|
||||
#end
|
||||
#if(entityConfig.isLombokAllArgsConstructorEnable())
|
||||
@AllArgsConstructor
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#if(withSwagger && swaggerVersion.getName() == "FOX")
|
||||
@ApiModel("#(table.getComment())")
|
||||
#end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user