前言
实际开发时,会遇到枚举字段如:学历(1:小学、2:初中、3:高中),前端展示小学,后端存储1。
定义配置
yml
文件里添加配置,定义扫描枚举类的包路径;
mybatis-plus:
type-enums-package: com.demo.enums
定义枚举类
在枚举字段上添加**@EnumValue**注解
public enum GradeEnum {
PRIMARY(1, "小学"),
SECONDARY(2, "中学"),
HIGH(3, "高中");
GradeEnum(int code, String descp) {
this.code = code;
this.descp = descp;
}
@EnumValue
private final int code;
private final String descp;
public int getCode() {
return code;
}
public String getDescp() {
return descp;
}
}
使用枚举类
将grade字段类型设置为GradeEnum
public class Student implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
public Student(Long id, String name, Integer age) {
this.id = id;
this.name = name;
this.age = age;
}
@TableId
private Long id;
private String name;
private GradeEnum grade;
}
测试使用
@Test
void crudTest() {
Student student = new Student();
Long id = 10086L;
student.setId(id);
student.setAge(188);
student.setGrade(GradeEnum.PRIMARY);
StudentMapper.insert(student);
System.out.println(student);
}