定义一个枚举类来存放各种值对应的状态,方便用户查看。
·定义枚举
要让MybatisPlus
处理枚举与数据库类型自动转换,我们必须告诉MybatisPlus
,枚举中的哪个字段的值作为数据库值。 MybatisPlus
提供了@EnumValue
注解来标记枚举属性,并且,在UserStatus枚举中通过@JsonValue
注解标记JSON序列化时展示的字段。
package com.itheima.mp.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;
@Getter
public enum UserStatus {
NORMAL(1, "正常"),
FREEZE(2, "冻结")
;
@EnumValue
private final int value;
@JsonValue
private final String desc;
UserStatus(int value, String desc) {
this.value = value;
this.desc = desc;
}
}
然后把User
类中的status
字段改为UserStatus
类型:
private UserStatus status;
·配置枚举处理器
mybatis-plus:
configuration:
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
·配置完成后
用户状态status不需要跟2比较,直接与UserStatus.FROZEN比较,代码可读性高,修改如下:
同时,为了使页面查询结果也是枚举格式,我们需要修改UserVO中的status属性:
·测试: