BaseTypeHandler

mybatis自定义枚举转换类

蓝咒 提交于 2019-12-03 20:27:11
mybatis提供了EnumTypeHandler和EnumOrdinalTypeHandler完成枚举类型的转换,两者的功能已经基本满足了日常的使用。但是可能有这样的需求:由于某种原因,我们不想使用枚举的name和ordinal作为数据存储字段。mybatis的自定义转换类出现了。 前提知识 1. mybatis废弃了ibatis的 TypeHandlerCallback接口,取而代之的接口是 TypeHandler,它与原来的接口略有不同,但是方法类似。( 见说明 https://code.google.com/p/mybatis/wiki/DocUpgrade3 ) 2. BaseTypeHandler是mybatis提供的基础转换类,该类实现了TypeHandler接口并提供很多公用方法,建议每个自定义转换类都继承它。 示例 使用一段代码,将枚举类EnumStatus中的code属性存储到数据库对应字段statusCustom。 自定义转换类 package com.sg.util.typehandler; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import