自定义MyBatis类型转换器
比如:
实体类Student中的变量stuSex是Boolean类型,true表示男,false表示女。
在student表中字段stuSex是int类型,1表示男,0表示女。
当要向数据库中存取数据时,就需要自定义类型转换器,完成Boolean类型和INTEGER类型之间的相互转换。
自定义类型转换器的步骤:
创建转换器需要实现TypeHandler接口,但是通过源码发现,此接口有一个实现类BaseTypehandler,因此要实现转换器有两种选择:
1、实现接口TypeHandler接口
2、继承BaseTypeHandler类
package org.yao.converter;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
//泛型写的是Java类型
public class BooleanAndIntConverter extends BaseTypeHandler<Boolean>{
//get是数据库到Java(int 到 Boolean)
@Override
public Boolean getNullableResult(ResultSet rs, String columnName) throws SQLException {
int sexNum = rs