feat: 代码生成器添加表后缀处理。

This commit is contained in:
王帅 2024-10-04 09:24:30 +08:00
parent 0aff858ef0
commit a4aa77d9ce
3 changed files with 45 additions and 3 deletions

View File

@ -47,6 +47,7 @@ public class GlobalConfig implements Serializable {
public GlobalConfig() {
this(FileType.JAVA);
}
private final JavadocConfig javadocConfig;
private final PackageConfig packageConfig;
private final StrategyConfig strategyConfig;
@ -84,7 +85,7 @@ public class GlobalConfig implements Serializable {
this.strategyConfig = new StrategyConfig();
this.templateConfig = new TemplateConfig();
this.setTemplatePath();
if(fileType == FileType.KOTLIN) {
if (fileType == FileType.KOTLIN) {
JdbcTypeMapping.registerMapping("java.lang.Integer", "Int");
}
}
@ -564,6 +565,13 @@ public class GlobalConfig implements Serializable {
return getStrategyConfig().getTablePrefix();
}
/**
* @see StrategyConfig#getTableSuffix()
*/
public String getTableSuffix() {
return getStrategyConfig().getTableSuffix();
}
/**
* @see StrategyConfig#setTablePrefix(String...)
*/

View File

@ -34,11 +34,17 @@ import java.util.Set;
public class StrategyConfig implements Serializable {
private static final long serialVersionUID = 504853587703061034L;
/**
* 数据库表前缀多个前缀用英文逗号, 隔开
*/
private String tablePrefix;
/**
* 数据库表后缀多个后缀用英文逗号, 隔开
*/
private String tableSuffix;
/**
* 逻辑删除的默认字段名称
*/
@ -279,6 +285,21 @@ public class StrategyConfig implements Serializable {
return this;
}
/**
* 获取表后缀
*/
public String getTableSuffix() {
return tableSuffix;
}
/**
* 设置表后缀
*/
public StrategyConfig setTableSuffix(String... tableSuffix) {
this.tableSuffix = StringUtil.join(",", tableSuffix);
return this;
}
/**
* 获取逻辑删除列
*/

View File

@ -420,13 +420,26 @@ public class Table {
*/
public String getEntityJavaFileName() {
String entityJavaFileName = name;
// 处理表名前缀
String tablePrefix = globalConfig.getStrategyConfig().getTablePrefix();
if (tablePrefix != null) {
String[] tablePrefixes = tablePrefix.split(",");
for (String prefix : tablePrefixes) {
String trimPrefix = prefix.trim();
if (trimPrefix.length() > 0 && name.startsWith(trimPrefix)) {
entityJavaFileName = name.substring(trimPrefix.length());
if (!trimPrefix.isEmpty() && name.startsWith(trimPrefix)) {
entityJavaFileName = entityJavaFileName.substring(trimPrefix.length());
break;
}
}
}
// 处理表名后缀
String tableSuffix = globalConfig.getStrategyConfig().getTableSuffix();
if (tableSuffix != null) {
String[] tableSuffixes = tableSuffix.split(",");
for (String suffix : tableSuffixes) {
String trimSuffix = suffix.trim();
if (!trimSuffix.isEmpty() && name.endsWith(trimSuffix)) {
entityJavaFileName = entityJavaFileName.substring(0, entityJavaFileName.length() - trimSuffix.length());
break;
}
}