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=