Mybatis自定义TypeHandler处理枚举
我们可以通过自定义TypeHandler的形式来在设置参数或
者取出结果集的时候自定义参数封装策略。
对于枚举类DeptStatus,我们希望往数据库中存的是其状态码100、200、300;
现有的处理枚举类的TypeHandler只能存索引或名字,所以我们要自定义一个typeHandler
步骤
- 实现TypeHandler接口或者继承BaseTypeHandler
其中setParameter方法就是定义往数据库存的
getResult就是定义从数据库取出来什么
- 在全局配置文件中配置
除了在全局配置文件中配置,也可以在处理某个字段的时候告诉Mybatis用什么类型处理器
如果是查询,则应该在自定义resultMap里设置typeHandler
如果在参数位置修改TypeHandler,应该保证保存数据和查询数据用的TypeHandler是一样的。