woody 3 miesięcy temu
rodzic
commit
d1e1b40dfe

+ 3 - 2
framework-database/src/main/java/com/chelvc/framework/database/config/MybatisConfigurer.java

@@ -21,6 +21,7 @@ import javassist.NotFoundException;
 import lombok.NonNull;
 import lombok.NonNull;
 import org.apache.ibatis.parsing.XNode;
 import org.apache.ibatis.parsing.XNode;
 import org.apache.ibatis.session.Configuration;
 import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.type.UnknownTypeHandler;
 
 
 /**
 /**
  * Mybatis配置类
  * Mybatis配置类
@@ -134,11 +135,11 @@ public abstract class MybatisConfigurer {
                 "this.resolveTypeHandler();\n" +
                 "this.resolveTypeHandler();\n" +
                 "if (this.parameterMapping.typeHandler == null && this.parameterMapping.javaType != null " +
                 "if (this.parameterMapping.typeHandler == null && this.parameterMapping.javaType != null " +
                 "&& !%s.isTypeHandlerRegistered(this.parameterMapping.javaType)) {\n" +
                 "&& !%s.isTypeHandlerRegistered(this.parameterMapping.javaType)) {\n" +
-                "this.parameterMapping.typeHandler = %s.getUnknownTypeHandler(this.parameterMapping.configuration);\n" +
+                "this.parameterMapping.typeHandler = new %s(this.parameterMapping.configuration);\n" +
                 "}\n " +
                 "}\n " +
                 "this.validate();\n" +
                 "this.validate();\n" +
                 "return this.parameterMapping;\n" +
                 "return this.parameterMapping;\n" +
-                "}", DatabaseContextHolder.class.getName(), DatabaseContextHolder.class.getName()));
+                "}", DatabaseContextHolder.class.getName(), UnknownTypeHandler.class.getName()));
         inner.toClass();
         inner.toClass();
         clazz.toClass();
         clazz.toClass();
     }
     }

+ 1 - 1
framework-database/src/main/java/com/chelvc/framework/database/interceptor/Expressions.java

@@ -137,7 +137,7 @@ final class Expressions {
             // 获取表字段上下文信息
             // 获取表字段上下文信息
             TableFieldContext context = DatabaseContextHolder.getTableFieldContext(table, column);
             TableFieldContext context = DatabaseContextHolder.getTableFieldContext(table, column);
             if (context != null && Enum.class.isAssignableFrom(context.getType())) {
             if (context != null && Enum.class.isAssignableFrom(context.getType())) {
-                tables.computeIfAbsent(table, k -> Sets.newHashSet()).add(context);
+                tables.computeIfAbsent(DatabaseContextHolder.unquote(table), k -> Sets.newHashSet()).add(context);
             }
             }
         }
         }
         if (ObjectUtils.isEmpty(tables)) {
         if (ObjectUtils.isEmpty(tables)) {