diff --git a/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java b/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java index a2d67063..d9915a13 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java +++ b/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java @@ -73,6 +73,9 @@ public class GenConfig implements Serializable { @ApiModelProperty(value = "表前缀") private String prefix; + @ApiModelProperty(value = "列前缀") + private String columnPrefix; + @ApiModelProperty(value = "是否覆盖") private Boolean cover = false; } diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java index b1cb249e..4e510d79 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java +++ b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java @@ -240,7 +240,8 @@ public class GenUtil { List> betweens = new ArrayList<>(); // 存储不为空的字段信息 List> isNotNullColumns = new ArrayList<>(); - + // 列前缀 + String columnPrefix = genConfig.getColumnPrefix(); for (ColumnInfo column : columnInfos) { Map listMap = new HashMap<>(16); // 字段描述 @@ -250,9 +251,20 @@ public class GenUtil { // 主键类型 String colType = ColUtil.cloToJava(column.getColumnType()); // 小写开头的字段名 - String changeColumnName = StringUtils.toCamelCase(column.getColumnName()); + String changeColumnName = ""; + if (StrUtil.isNotBlank(columnPrefix)) { + changeColumnName = StringUtils.toCamelCase(StrUtil.removePrefix(column.getColumnName(), columnPrefix)); + } else { + changeColumnName = StringUtils.toCamelCase(column.getColumnName()); + } // 大写开头的字段名 - String capitalColumnName = StringUtils.toCapitalizeCamelCase(column.getColumnName()); + String capitalColumnName = ""; + if (StrUtil.isNotBlank(columnPrefix)) { + capitalColumnName = StringUtils.toCapitalizeCamelCase( + StrUtil.removePrefix(column.getColumnName(), columnPrefix)); + } else { + capitalColumnName = StringUtils.toCapitalizeCamelCase(column.getColumnName()); + } if (PK.equals(column.getKeyType())) { // 存储主键类型 genMap.put("pkColumnType", colType); diff --git a/sql/update.sql b/sql/update.sql new file mode 100644 index 00000000..f38f589a --- /dev/null +++ b/sql/update.sql @@ -0,0 +1,3 @@ +# 20220210 代码生成配置表新增列前缀字段 +alter table code_gen_config +add column column_prefix varchar(255) null comment '列前缀'; diff --git a/sql/脚本如何选择.md b/sql/脚本如何选择.md index 633c8642..7a0adc58 100644 --- a/sql/脚本如何选择.md +++ b/sql/脚本如何选择.md @@ -9,3 +9,5 @@ eladmin.sql 为 eladmin 项目完整的 sql 脚本,适合于初次使用的用户 ### 更新迭代 + +update.sql 为 eladmin 项目更新迭代的 sql 脚本,版本更新后务必检查是否运行过对应版本sql