1、背景
使用Mybatis存储枚举类型,数据库中以int类型存储,需要进行类型转换(handler适配)
2、代码实现
枚举类定义:
public interface IEnum
{
int getValue();
}
public enum EnumWhatIfChangeType implements IEnum
{
/**
* 不变
*/
UnChanged(0),
/**
* 变化
*/
Changed(1);
private int value;
private EnumWhatIfChangeType(int value)
{
this.value = value;
}
@Override
public int getValue()
{
return this.value;
}
}
Handler适配:
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;