要使用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