瀏覽代碼

ext: 抽象原生枚举处理类注册,方便扩展

yuxiaobin 6 年之前
父節點
當前提交
8ec17d8f95

+ 11 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/spring/MybatisSqlSessionFactoryBean.java

@@ -519,7 +519,7 @@ public class MybatisSqlSessionFactoryBean implements FactoryBean<SqlSessionFacto
                             typeHandlerRegistry.register(cls, EnumAnnotationTypeHandler.class);
                         } else {
                             // 原生方式
-                            typeHandlerRegistry.register(cls, EnumOrdinalTypeHandler.class);
+                            registerOriginalEnumTypeHandler(typeHandlerRegistry, cls);
                         }
                     }
                 }
@@ -668,6 +668,16 @@ public class MybatisSqlSessionFactoryBean implements FactoryBean<SqlSessionFacto
         return null;
     }
 
+    /**
+     * 对原生枚举的处理类,默认{@link EnumOrdinalTypeHandler}
+     *
+     * @param typeHandlerRegistry
+     * @param enumClazz
+     */
+    protected void registerOriginalEnumTypeHandler(TypeHandlerRegistry typeHandlerRegistry, Class<?> enumClazz) {
+        typeHandlerRegistry.register(enumClazz, EnumOrdinalTypeHandler.class);
+    }
+
     /**
      * {@inheritDoc}
      */