Ibatise 使用TypeHandler将数据库中的值与java的枚举值之间转换
来源:互联网 发布:阿里云如何禁止ip访问 编辑:程序博客网 时间:2024/06/07 06:21
1、先看TypeHandlerCallback的定义:
package com.ibatis.sqlmap.client.extensions;
import com.ibatis.sqlmap.client.extensions.ParameterSetter;
import com.ibatis.sqlmap.client.extensions.ResultGetter;
import java.sql.SQLException;
public interface TypeHandlerCallback {
void setParameter(ParameterSetter var1, Object var2) throws SQLException;
Object getResult(ResultGetter var1) throws SQLException;
Object valueOf(String var1);
}
2、我重新写了一个基础类实现了TypeHandlerCallback 接口,同时可以增加一些你需要的方法
public abstract class BaseTypeHandler<E extends BaseEnum> implements TypeHandlerCallback
3、再写你需要的类继承基础类,并重写你需要的方法
public class ArrearageLetterTypeHandler extends BaseTypeHandler<ArrearageLetterTypeEnum> {
4、在sqlMap文件中标签ResultMap或者ParameterMap中配置TypeHandler属性
<result column="ATTACHMENT_TYPE" property="attachmentType" typeHandler="com.plocc.support.enums.handler.ArrearageLetterTypeHandler"/>