fix: processor 退回到 v1.9.3

This commit is contained in:
Michael Yang 2024-08-09 12:02:25 +08:00
parent da58d18007
commit aa85c76635
2 changed files with 8 additions and 8 deletions

View File

@ -125,7 +125,6 @@ public class MybatisFlexProcessor extends AbstractProcessor {
String mapperBaseClass = configuration.get(ConfigurationKey.MAPPER_BASE_CLASS); String mapperBaseClass = configuration.get(ConfigurationKey.MAPPER_BASE_CLASS);
// tableDef 配置 // tableDef 配置
String tableDefPackage = configuration.get(ConfigurationKey.TABLE_DEF_PACKAGE);
String tableDefClassSuffix = configuration.get(ConfigurationKey.TABLE_DEF_CLASS_SUFFIX); String tableDefClassSuffix = configuration.get(ConfigurationKey.TABLE_DEF_CLASS_SUFFIX);
String tableDefInstanceSuffix = configuration.get(ConfigurationKey.TABLE_DEF_INSTANCE_SUFFIX); String tableDefInstanceSuffix = configuration.get(ConfigurationKey.TABLE_DEF_INSTANCE_SUFFIX);
String tableDefPropertiesNameStyle = configuration.get(ConfigurationKey.TABLE_DEF_PROPERTIES_NAME_STYLE); String tableDefPropertiesNameStyle = configuration.get(ConfigurationKey.TABLE_DEF_PROPERTIES_NAME_STYLE);
@ -181,23 +180,23 @@ public class MybatisFlexProcessor extends AbstractProcessor {
tableInfo.setEntityComment(elementUtils.getDocComment(entityClassElement)); tableInfo.setEntityComment(elementUtils.getDocComment(entityClassElement));
// 生成 TableDef 文件 // 生成 TableDef 文件
String realTableDefPackage = StrUtil.isBlank(tableDefPackage) ? StrUtil.buildTableDefPackage(entityClass) : StrUtil.processPackageExpression(entityClass, tableDefPackage); String tableDefPackage = StrUtil.buildTableDefPackage(entityClass);
String tableDefClassName = entityClassName.concat(tableDefClassSuffix); String tableDefClassName = entityClassName.concat(tableDefClassSuffix);
String tableDefContent = ContentBuilder.buildTableDef(tableInfo, allInTablesEnable, realTableDefPackage, tableDefClassName String tableDefContent = ContentBuilder.buildTableDef(tableInfo, allInTablesEnable, tableDefPackage, tableDefClassName
, tableDefPropertiesNameStyle, tableDefInstanceSuffix, columnInfos, defaultColumns); , tableDefPropertiesNameStyle, tableDefInstanceSuffix, columnInfos, defaultColumns);
// 将文件所依赖的 Element 传入 Filer 表示此 TableDef 依赖这个类以保证增量编译时不丢失内容 // 将文件所依赖的 Element 传入 Filer 表示此 TableDef 依赖这个类以保证增量编译时不丢失内容
processGenClass(genPath, realTableDefPackage, tableDefClassName, tableDefContent, entityClassElement); processGenClass(genPath, tableDefPackage, tableDefClassName, tableDefContent, entityClassElement);
if (allInTablesEnable) { if (allInTablesEnable) {
// 标记 entity 如果没有配置 Tables 生成位置 entity 位置为准 // 标记 entity 如果没有配置 Tables 生成位置 entity 位置为准
entityClassReference = entityClass; entityClassReference = entityClass;
// 构建 Tables 常量属性及其导包 // 构建 Tables 常量属性及其导包
ContentBuilder.buildTablesField(importBuilder, fieldBuilder, tableInfo, tableDefClassSuffix, tableDefPropertiesNameStyle, tableDefInstanceSuffix, realTableDefPackage); ContentBuilder.buildTablesField(importBuilder, fieldBuilder, tableInfo, tableDefClassSuffix, tableDefPropertiesNameStyle, tableDefInstanceSuffix);
} }
// 是否生成 Mapper 文件 // 是否生成 Mapper 文件
if ("true".equalsIgnoreCase(mapperGenerateEnable) && table.mapperGenerateEnable()) { if ("true".equalsIgnoreCase(mapperGenerateEnable) && table.mapperGenerateEnable()) {
String realMapperPackage = StrUtil.isBlank(mapperPackage) ? StrUtil.buildMapperPackage(entityClass) : StrUtil.processPackageExpression(entityClass, mapperPackage); String realMapperPackage = StrUtil.isBlank(mapperPackage) ? StrUtil.buildMapperPackage(entityClass) : mapperPackage;
String mapperClassName = entityClassName.concat("Mapper"); String mapperClassName = entityClassName.concat("Mapper");
boolean mapperAnnotationEnable = "true".equalsIgnoreCase(mapperAnnotation); boolean mapperAnnotationEnable = "true".equalsIgnoreCase(mapperAnnotation);
String mapperClassContent = ContentBuilder.buildMapper(tableInfo, realMapperPackage, mapperClassName, mapperBaseClass, mapperAnnotationEnable); String mapperClassContent = ContentBuilder.buildMapper(tableInfo, realMapperPackage, mapperClassName, mapperBaseClass, mapperAnnotationEnable);
@ -208,7 +207,7 @@ public class MybatisFlexProcessor extends AbstractProcessor {
// 确定了要生成 Tables 且拥有至少一个被 Table 注解的类时再生成 Tables // 确定了要生成 Tables 且拥有至少一个被 Table 注解的类时再生成 Tables
if (allInTablesEnable && entityClassReference != null) { if (allInTablesEnable && entityClassReference != null) {
// 生成 Tables 文件 // 生成 Tables 文件
String realTablesPackage = StrUtil.isBlank(allInTablesPackage) ? StrUtil.buildTableDefPackage(entityClassReference) : StrUtil.processPackageExpression(entityClassReference, allInTablesPackage); String realTablesPackage = StrUtil.isBlank(allInTablesPackage) ? StrUtil.buildTableDefPackage(entityClassReference) : allInTablesPackage;
String realTablesClassName = StrUtil.isBlank(allInTablesClassName) ? "Tables" : allInTablesClassName; String realTablesClassName = StrUtil.isBlank(allInTablesClassName) ? "Tables" : allInTablesClassName;
String tablesContent = ContentBuilder.buildTables(importBuilder, fieldBuilder, realTablesPackage, allInTablesClassName); String tablesContent = ContentBuilder.buildTables(importBuilder, fieldBuilder, realTablesPackage, allInTablesClassName);
processGenClass(genPath, realTablesPackage, realTablesClassName, tablesContent, elementsAnnotatedWith.toArray(new Element[0])); processGenClass(genPath, realTablesPackage, realTablesClassName, tablesContent, elementsAnnotatedWith.toArray(new Element[0]));

View File

@ -168,7 +168,8 @@ public class ContentBuilder {
* 构建 Tables 文件常量属性 * 构建 Tables 文件常量属性
*/ */
public static void buildTablesField(StringBuilder importBuilder, StringBuilder fieldBuilder, TableInfo tableInfo, public static void buildTablesField(StringBuilder importBuilder, StringBuilder fieldBuilder, TableInfo tableInfo,
String tableDefClassSuffix, String tableDefPropertiesNameStyle, String tableDefInstanceSuffix, String tableDefPackage) { String tableDefClassSuffix, String tableDefPropertiesNameStyle, String tableDefInstanceSuffix) {
String tableDefPackage = StrUtil.buildTableDefPackage(tableInfo.getEntityName());
String tableDefClassName = tableInfo.getEntitySimpleName().concat(tableDefClassSuffix); String tableDefClassName = tableInfo.getEntitySimpleName().concat(tableDefClassSuffix);
importBuilder.append("import ").append(tableDefPackage).append('.').append(tableDefClassName).append(";\n"); importBuilder.append("import ").append(tableDefPackage).append('.').append(tableDefClassName).append(";\n");
String entityComment = tableInfo.getEntityComment(); String entityComment = tableInfo.getEntityComment();