From c1d070719bbc31828b5cbbfc690bfe111b4a789f Mon Sep 17 00:00:00 2001 From: mayihua <1@1.com> Date: Mon, 24 Apr 2023 10:23:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E7=94=9F=E6=88=90=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=9A=84=E5=90=8D=E7=A7=B0=E6=9B=BF=E6=8D=A2=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processor/QueryEntityProcessor.java | 17 +++++++++++++---- .../java/com/mybatisflex/test/UserDto.java | 18 ++++++++++++++++++ .../src/main/resources/mybatis-flex.properties | 3 +++ 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/UserDto.java diff --git a/mybatis-flex-annotation/src/main/java/com/mybatisflex/processor/QueryEntityProcessor.java b/mybatis-flex-annotation/src/main/java/com/mybatisflex/processor/QueryEntityProcessor.java index 3cb30242..74851e10 100644 --- a/mybatis-flex-annotation/src/main/java/com/mybatisflex/processor/QueryEntityProcessor.java +++ b/mybatis-flex-annotation/src/main/java/com/mybatisflex/processor/QueryEntityProcessor.java @@ -129,6 +129,9 @@ public class QueryEntityProcessor extends AbstractProcessor { String mappersGenerateEnable = props.getProperties().getProperty("processor.mappersGenerateEnable", "true"); String genMappersPackage = props.getProperties().getProperty("processor.mappersPackage"); String className = props.getProperties().getProperty("processor.tablesClassName", "Tables"); + String entityNameReplaceEnabled = props.getProperties().getProperty("processor.entityName.replace.enabled", "false"); + String entityNameReplaceRegex = props.getProperties().getProperty("processor.entityName.replace.regex", ""); + String entityNameReplaceReplacement = props.getProperties().getProperty("processor.entityName.replace.replacement", ""); StringBuilder guessPackage = new StringBuilder(); @@ -164,14 +167,20 @@ public class QueryEntityProcessor extends AbstractProcessor { } while (classElement != null); String entityClassName = entityClassElement.getSimpleName().toString(); - tablesContent.append(buildTablesClass(entityClassName, tableName, propertyAndColumns, defaultColumns)); + + String entityName = entityClassName; + if("true".equals(entityNameReplaceEnabled)){ + entityName = entityName.replace(entityNameReplaceRegex, entityNameReplaceReplacement); + } + + tablesContent.append(buildTablesClass(entityName, tableName, propertyAndColumns, defaultColumns)); //是否开启 mapper 生成功能 if ("true".equalsIgnoreCase(mappersGenerateEnable) && table.mapperGenerateEnable()) { String realMapperPackage = genMappersPackage == null || genMappersPackage.trim().length() == 0 ? guessMapperPackage(entityClassElement.toString()) : genMappersPackage; - genMapperClass(genPath, realMapperPackage, entityClassElement.toString(),baseMapperClass); + genMapperClass(genPath, realMapperPackage, entityClassElement.toString(),baseMapperClass, entityName); } }); @@ -379,8 +388,8 @@ public class QueryEntityProcessor extends AbstractProcessor { * @param entityClass 实体类名 * @param baseMapperClass 自定义Mapper的父类全路径和类名 com.xx.mapper.BaseMapper,可通过mybatis-flex.properties 的属性processor.baseMapperClass配置, 默认为 com.mybatisflex.core.BaseMapper */ - private void genMapperClass(String genBasePath, String genPackageName, String entityClass, String baseMapperClass) { - String entityName = entityClass.substring(entityClass.lastIndexOf(".") + 1); + private void genMapperClass(String genBasePath, String genPackageName, String entityClass, String baseMapperClass, String entityName) { + entityName = entityClass.substring(entityClass.lastIndexOf(".") + 1); String baseMapperClzName = baseMapperClass.substring(baseMapperClass.lastIndexOf(".") + 1); String genContent = mapperTemplate .replace("@package", genPackageName) diff --git a/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/UserDto.java b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/UserDto.java new file mode 100644 index 00000000..8a2ac1cb --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/UserDto.java @@ -0,0 +1,18 @@ +package com.mybatisflex.test; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Table; + +@Table("sys_user") +public class UserDto { + @Column + private Long id; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } +} diff --git a/mybatis-flex-test/mybatis-flex-native-test/src/main/resources/mybatis-flex.properties b/mybatis-flex-test/mybatis-flex-native-test/src/main/resources/mybatis-flex.properties index 95f4c860..2c4cffbc 100644 --- a/mybatis-flex-test/mybatis-flex-native-test/src/main/resources/mybatis-flex.properties +++ b/mybatis-flex-test/mybatis-flex-native-test/src/main/resources/mybatis-flex.properties @@ -1 +1,4 @@ #processor.mappersGenerateEnable = false +processor.entityName.replace.enabled=true +processor.entityName.replace.regex=Dto +processor.entityName.replace.replacement=