MyBatis typeHandler 源码分析
typeHandler 的作用
无论是 MyBatis 在预处理语句中设置一个参数,还是从结果集中取出一个值时,类型处理器被用来将获取的值以合适的方式转换成 Java 类型。
typeHandler 的源码分析
TypeHandler 接口主要有四个方法,如下:
public void setParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType)
public String getResult(ResultSet rs,String columnName)
public String getResult(ResultSet rs,int columnIndex)
public String getResult(CallableStatement cs,int columnIndex)
方法说明:
setParameter
方法是在将参数传入数据库之前对数据类型做处理。
getResult
方法则在数据库返回结果时,将结果信息转换为相应的 Java 类型。区别在于前两个 getResult
方法供普通SQL使用,一个根据字段名,一个根据字段下标来获取数据,最后一个getResult
方法供存储过程使用,根据字段下标获取数据。