From c5781cd796bfaf64944355a469fd4df6957d466d Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Fri, 30 Dec 2022 10:35:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=99=A8=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/service/impl/GenerateServiceImpl.java | 1 + .../main/java/com/mdd/generator/util/GenUtil.java | 13 +++++++++++++ .../java/com/mdd/generator/util/VelocityUtil.java | 2 ++ .../java/com/mdd/generator/validate/GenParam.java | 2 ++ .../src/main/resources/java/serviceImpl.java.vm | 2 +- 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java b/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java index 430c033d..1ac233d9 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java +++ b/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java @@ -264,6 +264,7 @@ public class GenerateServiceImpl implements IGenerateService { model.setGenType(genParam.getGenType()); model.setGenPath(genParam.getGenPath()); model.setSubTableFk(genParam.getSubTableFk()); + model.setSubTableFr(genParam.getSubTableFr()); model.setSubTableName(genParam.getSubTableName()); genTableMapper.updateById(model); diff --git a/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java b/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java index 4ab2e288..e2b9d503 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java +++ b/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java @@ -248,4 +248,17 @@ public class GenUtil { } } + /** + * 获取表的别名 + * + * @param tableName 表名 + * @return String + */ + public static String getTableAlias(String tableName) { + StringBuilder val = new StringBuilder(); + for (String name : tableName.split("_")) { + val.append(name.charAt(0)); + } + return val.toString(); + } } diff --git a/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java b/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java index 687a38b7..b155254b 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java +++ b/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java @@ -70,6 +70,7 @@ public class VelocityUtil { // 替换前缀 table.setSubTableName(table.getSubTableName().replace(GlobalConfig.tablePrefix, "")); + System.out.println(GenUtil.getTableAlias(table.getSubTableName())); // 设置模板变量 VelocityContext velocityContext = new VelocityContext(); @@ -84,6 +85,7 @@ public class VelocityUtil { velocityContext.put("notesType", GenConfig.notesType); velocityContext.put("table", table); velocityContext.put("columns", columns); + velocityContext.put("subTableAlias", GenUtil.getTableAlias(table.getSubTableName())); velocityContext.put("dateFields", SqlConstants.COLUMN_TIME_NAME); velocityContext.put("primaryKey", primaryKey); velocityContext.put("primaryField", primaryField); diff --git a/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java b/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java index c93a803c..6dd0053a 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java +++ b/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java @@ -88,4 +88,6 @@ public class GenParam implements Serializable { private String subTableFk = ""; + private String subTableFr = ""; + } diff --git a/server/like-generator/src/main/resources/java/serviceImpl.java.vm b/server/like-generator/src/main/resources/java/serviceImpl.java.vm index 888d7bdb..fb7fa609 100644 --- a/server/like-generator/src/main/resources/java/serviceImpl.java.vm +++ b/server/like-generator/src/main/resources/java/serviceImpl.java.vm @@ -93,7 +93,7 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service { #set($queryWrapper = "mpjQueryWrapper") MPJQueryWrapper<${EntityName}> mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.selectAll(${EntityName}.class); - mpjQueryWrapper.innerJoin("?_$table.subTableName f ON f.$table.SubTableFr=t.$table.SubTableFk".replace("?_", GlobalConfig.tablePrefix)); + mpjQueryWrapper.innerJoin("?_$table.subTableName $subTableAlias ON $subTableAlias.$table.SubTableFk=t.$table.SubTableFr".replace("?_", GlobalConfig.tablePrefix)); #if($allFields.contains("is_delete")) mpjQueryWrapper.eq("t.is_delete", 0); #end