mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
Merge pull request #495 from coder-xiaomo/feat-base-override
feat: Codegen 生成 entity base 时支持设置是否覆盖已有文件
This commit is contained in:
commit
be123d50d0
@ -303,6 +303,7 @@ globalConfig.getTemplateConfig()
|
|||||||
| setSuperClass(Class) | Entity 类的父类,可以自定义一些 BaseEntity 类 | null |
|
| setSuperClass(Class) | Entity 类的父类,可以自定义一些 BaseEntity 类 | null |
|
||||||
| setSuperClassFactory(Function<Table, Class>) | Entity 类的父类工厂,可以用于对特定的 Class 设置父类,而非全部 Entity 的父类 | null |
|
| setSuperClassFactory(Function<Table, Class>) | Entity 类的父类工厂,可以用于对特定的 Class 设置父类,而非全部 Entity 的父类 | null |
|
||||||
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
| setOverwriteEnable(boolean) | 是否覆盖之前生成的文件 | false |
|
||||||
|
| setEntityBaseOverwriteEnable(boolean) | 生成Base类时是否覆盖之前生成的文件 | false |
|
||||||
| setImplInterfaces(Class[]) | Entity 默认实现的接口 | Serializable.class |
|
| setImplInterfaces(Class[]) | Entity 默认实现的接口 | Serializable.class |
|
||||||
| setWithLombok(boolean) | Entity 是否使用 Lombok 注解 | false |
|
| setWithLombok(boolean) | Entity 是否使用 Lombok 注解 | false |
|
||||||
| setWithSwagger(boolean) | Entity 是否使用 Swagger 注解 | false |
|
| setWithSwagger(boolean) | Entity 是否使用 Swagger 注解 | false |
|
||||||
|
|||||||
@ -60,6 +60,11 @@ public class EntityConfig implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private boolean overwriteEnable;
|
private boolean overwriteEnable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成Base类时是否覆盖之前生成的文件。
|
||||||
|
*/
|
||||||
|
private boolean baseOverwriteEnable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Entity 默认实现的接口。
|
* Entity 默认实现的接口。
|
||||||
*/
|
*/
|
||||||
@ -228,6 +233,21 @@ public class EntityConfig implements Serializable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成Base类时是否覆盖原有文件。
|
||||||
|
*/
|
||||||
|
public boolean isBaseOverwriteEnable() {
|
||||||
|
return baseOverwriteEnable;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置生成Base类时是否覆盖原有文件。
|
||||||
|
*/
|
||||||
|
public EntityConfig setBaseOverwriteEnable(boolean baseOverwriteEnable) {
|
||||||
|
this.baseOverwriteEnable = baseOverwriteEnable;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取实现接口。
|
* 获取实现接口。
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -888,6 +888,20 @@ public class GlobalConfig implements Serializable {
|
|||||||
getEntityConfig().setOverwriteEnable(entityOverwriteEnable);
|
getEntityConfig().setOverwriteEnable(entityOverwriteEnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see EntityConfig#isBaseOverwriteEnable()
|
||||||
|
*/
|
||||||
|
public boolean isEntityBaseOverwriteEnable() {
|
||||||
|
return getEntityConfig().isBaseOverwriteEnable();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see EntityConfig#setBaseOverwriteEnable(boolean)
|
||||||
|
*/
|
||||||
|
public void setEntityBaseOverwriteEnable(boolean entityBaseOverwriteEnable) {
|
||||||
|
getEntityConfig().setBaseOverwriteEnable(entityBaseOverwriteEnable);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see EntityConfig#getClassPrefix()
|
* @see EntityConfig#getClassPrefix()
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -139,7 +139,9 @@ public class EntityGenerator implements IGenerator {
|
|||||||
|
|
||||||
File baseEntityJavaFile = new File(sourceDir, baseEntityPackagePath + "/" + baseEntityClassName + globalConfig.getFileType());
|
File baseEntityJavaFile = new File(sourceDir, baseEntityPackagePath + "/" + baseEntityClassName + globalConfig.getFileType());
|
||||||
|
|
||||||
|
if (baseEntityJavaFile.exists() && !entityConfig.isBaseOverwriteEnable()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 排除忽略列
|
// 排除忽略列
|
||||||
if (globalConfig.getStrategyConfig().getIgnoreColumns() != null) {
|
if (globalConfig.getStrategyConfig().getIgnoreColumns() != null) {
|
||||||
table.getColumns().removeIf(column -> globalConfig.getStrategyConfig().getIgnoreColumns().contains(column.getName().toLowerCase()));
|
table.getColumns().removeIf(column -> globalConfig.getStrategyConfig().getIgnoreColumns().contains(column.getName().toLowerCase()));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user