在MySQL中,可以使用ENUM类型来表示枚举类型。当映射枚举类型时,可以在ResultMap中使用
假设有一个名为User的实体类,其中有一个名为Status的枚举类型属性:
public class User {
private Long id;
private String username;
private Status status;
// getters and setters
}
public enum Status {
ACTIVE,
INACTIVE
}
在MyBatis的ResultMap配置文件中,可以按照以下方式进行映射:
<resultMap id="userResultMap" type="User">
<id column="id" property="id" />
<result column="username" property="username" />
<result column="status" property="status" javaType="java.lang.String" jdbcType="VARCHAR" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
</resultMap>
在这里,使用了EnumTypeHandler来将数据库中的ENUM类型映射到Java中的枚举类型。在查询时,MyBatis会自动将数据库中的枚举值转换为对应的枚举类型。