如何把实体类的某一个枚举字段优雅的映射在mybatis的xml映射文件中?
下面做一个比较完整的代码,方便明白理解
1.枚举类(这里不需要添加额外代码)
public enum Sex{
MALE, FEMALE;
}
2.xml映射文件(这里不需要添加额外代码)
<result property="sex" column="sex" jdbcType="INTEGER"/>
3.实体类(重点在这里)
/**
* 性别(0:女性,1:男性)
*/
@TableField(value = "SEX",typeHandler = EnumOrdinalTypeHandler.class)
private Sex sex;
注意到,只需要在实体类中添加
@TableField(value = "SEX",typeHandler = EnumOrdinalTypeHandler.class)
即可
知识点:
1.typeHandler 选择EnumOrdinalTypeHandler,展示的数字实际上是枚举类的角标数字(角标就是顺序值,类似数组的角标)
2.如果需要映射枚举名称,比如这里的MALE,FEMALE。typeHandler 选择用 EnumTypeHandler