前言一、环境
1、SpringBoot 版本2、Mybatis Plus 3.1及以上版本 二、代码
步骤一:配置Mybatis Plus枚举
方式一: ==配置MybatisPlusAutoConfiguration==方式二: ==配置.yml文件== 步骤二:配置枚举类
方式一: ==枚举属性,实现 IEnum,重写getValue()==方式二:==使用 @EnumValue 注解枚举属性== 步骤三:实体中使用Enum 三、测试及结果
1、测试
数据库Debug中StudentDebug中查询到的StudentList 四、官方网站
前言
状态映射关系太多?使用枚举变量,映射关系交给spring自动维护!!!告别烦恼!!!
一、环境 1、SpringBoot 版本
2、Mybatis Plus 3.1及以上版本org.springframework.boot spring-boot-starter-parent 2.3.5.RELEASE
二、代码 步骤一:配置Mybatis Plus枚举 方式一: 配置MybatisPlusAutoConfigurationcom.baomidou mybatis-plus-boot-starter 3.5.1
@Configuration
public class MybatisPlusAutoConfiguration {
@Bean
public MybatisPlusPropertiesCustomizer mybatisPlusPropertiesCustomizer() {
return properties -> {
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setDefaultEnumTypeHandler(MybatisEnumTypeHandler.class); // 枚举处理类
properties.setConfiguration(configuration);
};
}
}
方式二: 配置.yml文件
// 配置枚举处理类
mybatis-plus:
configuration:
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
步骤二:配置枚举类
方式一: 枚举属性,实现 IEnum,重写getValue()
@Getter public enum GradeEnum implements IEnum方式二:使用 @EnumValue 注解枚举属性{ PRIMARY(1, "小学"), SECONDARY(2, "中学"), HIGH(3, "高中"); private final Integer code; private final String des; GradeEnum(Integer code, String des) { this.code = code; this.des = des; } @Override // 数据库存储的值 public String getValue() { return this.des; } }
@Getter
public enum GradeEnum {
PRIMARY(1, "小学"),
SECONDARY(2, "中学"),
HIGH(3, "高中");
private final Integer code;
@EnumValue // 数据库存储的值
private final String des;
GradeEnum(Integer code, String des) {
this.code = code;
this.des = des;
}
}
步骤三:实体中使用Enum
@Data
@TableName("student")
public class Student implements Serializable {
private static final long serialVersionUID = 7011752983426204134L;
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private String sex;
// 枚举
private GradeEnum grade;
}
三、测试及结果
1、测试
@Test
void student(){
Student student = new Student();
student.setGrade(GradeEnum.HIGH);
studentService.save(student);
List students = studentService.list();
System.out.println(students);
}
数据库
Debug中Student
Debug中查询到的StudentList
四、官方网站
Mybatis Plus 配置官网



