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() { public GlobalConfig() {
this(FileType.JAVA); this(FileType.JAVA);
} }
private final JavadocConfig javadocConfig; private final JavadocConfig javadocConfig;
private final PackageConfig packageConfig; private final PackageConfig packageConfig;
private final StrategyConfig strategyConfig; private final StrategyConfig strategyConfig;
@ -564,6 +565,13 @@ public class GlobalConfig implements Serializable {
return getStrategyConfig().getTablePrefix(); return getStrategyConfig().getTablePrefix();
} }
/**
* @see StrategyConfig#getTableSuffix()
*/
public String getTableSuffix() {
return getStrategyConfig().getTableSuffix();
}
/** /**
* @see StrategyConfig#setTablePrefix(String...) * @see StrategyConfig#setTablePrefix(String...)
*/ */

View File

@ -34,11 +34,17 @@ import java.util.Set;
public class StrategyConfig implements Serializable { public class StrategyConfig implements Serializable {
private static final long serialVersionUID = 504853587703061034L; private static final long serialVersionUID = 504853587703061034L;
/** /**
* 数据库表前缀多个前缀用英文逗号, 隔开 * 数据库表前缀多个前缀用英文逗号, 隔开
*/ */
private String tablePrefix; private String tablePrefix;
/**
* 数据库表后缀多个后缀用英文逗号, 隔开
*/
private String tableSuffix;
/** /**
* 逻辑删除的默认字段名称 * 逻辑删除的默认字段名称
*/ */
@ -279,6 +285,21 @@ public class StrategyConfig implements Serializable {
return this; 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() { public String getEntityJavaFileName() {
String entityJavaFileName = name; String entityJavaFileName = name;
// 处理表名前缀
String tablePrefix = globalConfig.getStrategyConfig().getTablePrefix(); String tablePrefix = globalConfig.getStrategyConfig().getTablePrefix();
if (tablePrefix != null) { if (tablePrefix != null) {
String[] tablePrefixes = tablePrefix.split(","); String[] tablePrefixes = tablePrefix.split(",");
for (String prefix : tablePrefixes) { for (String prefix : tablePrefixes) {
String trimPrefix = prefix.trim(); String trimPrefix = prefix.trim();
if (trimPrefix.length() > 0 && name.startsWith(trimPrefix)) { if (!trimPrefix.isEmpty() && name.startsWith(trimPrefix)) {
entityJavaFileName = name.substring(trimPrefix.length()); 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; break;
} }
} }