在使用mybaits-plus 对字典项数据进行处理时,使用到了枚举类的方式,使用时出现null问题。
枚举类下图所示:
@Getter
public enum GoodsFlagEnum implements IEnum {
DOWN(0, "下架"),
UP(1, "上架"),
;
private final Integer value;
private final String desc;
GoodsFlagEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@Override
public Integer getValue() {
return this.value;
}
}
可是在取到的结果里value和desc这两个值都为null,最后发现因为value的类型是tinyint(1),在com.baomidou.mybatisplus.extension.handlers.EnumTypeHandler里从表里取出的值被自动当成Boolean类型来处理了,从而导致两个Enum都为null, 把value的类型改为默认的tinyint(4)就可以了。