我有一个包含枚举属性的 POJO。
[速度.java]
public class SpeedEntry implements Serializable {
[...]
private int idSpeed;
private SpeedStatus status; // enum Property
[...]
[速度状态.java]
public enum SpeedStatus {
[...]
VALID(1), INVALID(2), UNKNOWN(0); // Possible values.
private int value;
// Default constructor
private SpeedStatus(final int pValue) {
this.value = pValue;
}
[...]
我想存储和检索 Speed 对象,并像往常一样用 MyBatis 填充它的属性。分配给 SpeedStatus 的列被创建为INT(11)。
在这种情况下,执行INSERT非常直接地访问其内部 value 属性:
#{status.value}
但是,检索对象并从存储在数据库中的整数中填充其枚举值并不像插入它那么容易。我尝试使用resultMap,但没有运气:
[speedMapper.xml]
<resultMap id="speedMap" type="Speed">
<result property="idSpeed" column="idSpeed" />
<result column="status" property="status.value"
typeHandler="org.apache.ibatis.type.EnumOrdinalTypeHandler"/>
</resultMap>
所以......有可能实现我正在寻找的东西吗? 那里有任何简单的澄清例子吗?
什么是最好的选择?我应该将存储在数据库中的类型更改为“枚举”吗?
提前致谢。