通用mapper处理枚举类型

2020年02月07日 601点热度 0人点赞 0条评论

存取枚举的名字

只需在实体类对应的属性上添加 @ColumnType(jdbcType = JdbcType.VARCHAR)即可

存取枚举的索引

使用TypeHandler

继承EnumOrdinalTypeHandler

public class RoleEnumTypeHandler extends EnumOrdinalTypeHandler<RoleEnum> {
    public RoleEnumTypeHandler(Class<RoleEnum> type) {
        super(type);
    }
}

然后在注解@ColumnType中指定typeHandler

@ColumnType(typeHandler = RoleEnumTypeHandler.class)
    private RoleEnum role;

注意,如果自定义sql语句的话,记得在@Result注解中指定typeHandler

@Result(property = "role", column = "role_id",typeHandler = RoleEnumTypeHandler.class)

其他

如果针对其他更加复杂的类型的话,就要自定义TypeHandler了。

参考:https://www.wandouip.com/t5i360249/

likole

人能常清静,天地悉皆归

文章评论