MyBatis-Plus 3.0.1中枚举类型返回null的解决策略是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1436个文字,预计阅读时间需要6分钟。
mybatis-plus 3.0.1 中,当枚举返回 null 时,解决策略:2020-11-02 14:28:48 今日再次回到代码中查看,发现原本和 mybatis-plus 没有关联。产生这个问题的根本原因可能还是需要查看对应的 Mapper.xml 中是否指定了 jdb。
mybatis-plus 3.0.1 枚举返回为null解决办法
2020-11-02 14:28:48
今天再次回到代码里无意间看到,原来和mybatis-plus没有关系!发生这个问题的根本原因还是要看是否在对应的Mapper.xml里指定了jdbcType。由于我使用了IDEA的代码生成插件,所以没有再进一步去研究为什么返回的数据类型会是以BigDecimal包装的,就此闹了个笑话。。
结论:枚举类用EnumValue注解修饰的数据类型,例如是Integer,那么在Mapper.xml中的jdbcType需要修改为对应类型!
最好的解决办法就是使用新版的mybatis-plus!
3.1.0版本后改变了mybatis原生的默认行为,而3.1.2版本以下的枚举处理类依然是EnumTypeHandler。推测在3.1.2以上的版本应该是不会出现这个问题的。
本文共计1436个文字,预计阅读时间需要6分钟。
mybatis-plus 3.0.1 中,当枚举返回 null 时,解决策略:2020-11-02 14:28:48 今日再次回到代码中查看,发现原本和 mybatis-plus 没有关联。产生这个问题的根本原因可能还是需要查看对应的 Mapper.xml 中是否指定了 jdb。
mybatis-plus 3.0.1 枚举返回为null解决办法
2020-11-02 14:28:48
今天再次回到代码里无意间看到,原来和mybatis-plus没有关系!发生这个问题的根本原因还是要看是否在对应的Mapper.xml里指定了jdbcType。由于我使用了IDEA的代码生成插件,所以没有再进一步去研究为什么返回的数据类型会是以BigDecimal包装的,就此闹了个笑话。。
结论:枚举类用EnumValue注解修饰的数据类型,例如是Integer,那么在Mapper.xml中的jdbcType需要修改为对应类型!
最好的解决办法就是使用新版的mybatis-plus!
3.1.0版本后改变了mybatis原生的默认行为,而3.1.2版本以下的枚举处理类依然是EnumTypeHandler。推测在3.1.2以上的版本应该是不会出现这个问题的。

