apt add "processor.entity.ignoreSuffixes" config

This commit is contained in:
开源海哥 2023-04-24 12:17:49 +08:00
parent b6fe442da9
commit 6c740d0e36

View File

@ -125,13 +125,15 @@ public class QueryEntityProcessor extends AbstractProcessor {
} }
String genPath = props.getProperties().getProperty("processor.genPath", ""); String genPath = props.getProperties().getProperty("processor.genPath", "");
String genTablesPackage = props.getProperties().getProperty("processor.tablesPackage"); String genTablesPackage = props.getProperties().getProperty("processor.tablesPackage");
String baseMapperClass = props.getProperties().getProperty("processor.baseMapperClass","com.mybatisflex.core.BaseMapper"); String baseMapperClass = props.getProperties().getProperty("processor.baseMapperClass", "com.mybatisflex.core.BaseMapper");
String mappersGenerateEnable = props.getProperties().getProperty("processor.mappersGenerateEnable", "false"); String mappersGenerateEnable = props.getProperties().getProperty("processor.mappersGenerateEnable", "false");
String genMappersPackage = props.getProperties().getProperty("processor.mappersPackage"); String genMappersPackage = props.getProperties().getProperty("processor.mappersPackage");
String className = props.getProperties().getProperty("processor.tablesClassName", "Tables"); 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", ""); String[] entityIgnoreSuffixes = props.getProperties().getProperty("processor.entity.ignoreSuffixes", "").split(",");
// String entityNameReplaceRegex = props.getProperties().getProperty("processor.entityName.replace.regex", "");
// String entityNameReplaceReplacement = props.getProperties().getProperty("processor.entityName.replace.replacement", "");
StringBuilder guessPackage = new StringBuilder(); StringBuilder guessPackage = new StringBuilder();
@ -166,21 +168,24 @@ public class QueryEntityProcessor extends AbstractProcessor {
classElement = (TypeElement) typeUtils.asElement(classElement.getSuperclass()); classElement = (TypeElement) typeUtils.asElement(classElement.getSuperclass());
} while (classElement != null); } while (classElement != null);
String entityClassName = entityClassElement.getSimpleName().toString();
String entityName = entityClassName; String entitySimpleName = entityClassElement.getSimpleName().toString();
if("true".equals(entityNameReplaceEnabled)){ if (entityIgnoreSuffixes.length > 0) {
entityName = entityName.replace(entityNameReplaceRegex, entityNameReplaceReplacement); for (String entityIgnoreSuffix : entityIgnoreSuffixes) {
if (entitySimpleName.endsWith(entityIgnoreSuffix.trim())) {
entitySimpleName = entitySimpleName.substring(0, entitySimpleName.length() - entityIgnoreSuffix.length());
break;
}
}
} }
tablesContent.append(buildTablesClass(entityName, tableName, propertyAndColumns, defaultColumns)); tablesContent.append(buildTablesClass(entitySimpleName, tableName, propertyAndColumns, defaultColumns));
//是否开启 mapper 生成功能 //是否开启 mapper 生成功能
if ("true".equalsIgnoreCase(mappersGenerateEnable) && table.mapperGenerateEnable()) { if ("true".equalsIgnoreCase(mappersGenerateEnable) && table.mapperGenerateEnable()) {
String realMapperPackage = genMappersPackage == null || genMappersPackage.trim().length() == 0 String realMapperPackage = genMappersPackage == null || genMappersPackage.trim().length() == 0
? guessMapperPackage(entityClassElement.toString()) : genMappersPackage; ? guessMapperPackage(entityClassElement.toString()) : genMappersPackage;
genMapperClass(genPath, realMapperPackage, entityClassElement.toString(),baseMapperClass, entityName); genMapperClass(genPath, realMapperPackage, entityClassElement.toString(), baseMapperClass, entitySimpleName);
} }
}); });
@ -382,10 +387,9 @@ public class QueryEntityProcessor extends AbstractProcessor {
} }
/** /**
* * @param genBasePath 生成路径
* @param genBasePath 生成路径 * @param genPackageName 包名
* @param genPackageName 包名 * @param entityClass 实体类名
* @param entityClass 实体类名
* @param baseMapperClass 自定义Mapper的父类全路径和类名 com.xx.mapper.BaseMapper可通过mybatis-flex.properties 的属性processor.baseMapperClass配置 默认为 com.mybatisflex.core.BaseMapper * @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) { private void genMapperClass(String genBasePath, String genPackageName, String entityClass, String baseMapperClass, String entityName) {