From 48a3ce6fddd9098ff3e88e69286160a1b93ae309 Mon Sep 17 00:00:00 2001 From: "Emil.Zhang" Date: Thu, 10 Feb 2022 15:50:39 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E5=A2=9E=E5=8A=A0=E5=8E=BB=E5=87=BA?= =?UTF-8?q?=E5=88=97=E5=89=8D=E7=BC=80=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加生成代码时对数据库中列前缀的去除 --- .../java/me/zhengjie/domain/GenConfig.java | 3 +++ .../main/java/me/zhengjie/utils/GenUtil.java | 18 +++++++++++++++--- sql/update.sql | 3 +++ sql/脚本如何选择.md | 2 ++ 4 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 sql/update.sql 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