当前使用版本(必填,否则不予处理)
3.4.3.4
该问题是如何引起的?(确定最新版也有问题再提!!!)
在对接 DM7 数据库的时候想要使用 @EnumValue 映射枚举类型 发现 DM7 的驱动包中没有实现 ResultSet.getObject() 方法 尝试自定义 MybatisEnumTypeHandler 修改该部分实现时 发现不能进行全局设置,只能逐个字段标注 typeHandler
重现步骤(如果有就写完整)
MybatisSqlSessionFactoryBean.buildSqlSessionFactory() 中写死了 EnumTypeHandler
// 取得类型转换注册器
TypeHandlerRegistry typeHandlerRegistry = targetConfiguration.getTypeHandlerRegistry();
classes.stream()
.filter(Class::isEnum)
.filter(MybatisEnumTypeHandler::isMpEnums)
.forEach(cls -> typeHandlerRegistry.register(cls, MybatisEnumTypeHandler.class));
1、期望提供切面或者配置,可以进行全局替换 2、期望对 MybatisEnumTypeHandler 中 ResultSet.getObject() 部分的实现做下兼容,我看了其他相关问题中的回复,作者有推荐更换连接池,但在 DM7 的对接问题中,无法通过更换连接池达成预期的目的
报错信息
Comment From: miemieYaho
你可以不配置 typeEnumsPackage,再configuration里配置setDefaultEnumTypeHandler