要使用Mybatis-Plus的枚举映射功能,首先要标记枚举值,再配置Mybatis-Plus提供的MybatisEnumTypeHandler。
标记枚举值
注解方式
在枚举的值字段上使用@EnumValue。
@Getter
@AllArgsConstructor
public enum Grade {
PRIMARY(1, "小学"),
SECONDARY(2, "中学"),
HIGH(3, "高中");
@EnumValue
private final int code;
private final String desc;
}接口方式
实现 IEnum<T> 接口和其中的T getValue()方法。
@Getter
@AllArgsConstructor
public enum Age implements IEnum<Integer> {
ONE(1, "一岁"),
TWO(2, "二岁"),
THREE(3, "三岁");
private final int value;
private final String desc;
@Override
public Integer getValue() {
return this.value;
}
}配置枚举处理器
在application.yml中:
mybatis-plus:
configuration:
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler