Mybatis-plus 扩展功能-枚举处理器

1.准备:

(1)定义枚举:enums.UserStatus

  (2)添加@EnumValue注解(mp知道该把哪个值往数据库中写)

package enums;
import com.baomidou.mybatisplus.annotation.EnumValue;

public enum UserStatus {

    NORMAL(1,"正常"),
    FROZEN(2,"冻结"),
    ;
    @EnumValue
    private final int value;
    private final String desc;
    UserStatus(int value,String desc) {
        this.value = value;
        this.desc = desc;
    }

    public int getValue() {
        return value;
    }

    public String getDesc() {
        return desc;
    }
}

2.配置枚举处理器

在application.yaml文件中添加配置:

1 mybatis-plus:
2   configuration:
3      default-enum-type-                           4 
4          handler:com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler

3.代替User实体中对应状态字段

private Integer status;==>private UserStatus status;

4.改变UserServiceImpl类中相关报错点,将数字用枚举名称代替

5.把用于数据展示的UserVO类对应status字段也改成枚举类型

       Warning: 此时出现问题,用postman做查询功能时status返回值为NORMAL

       Reason: 枚举默认做json处理以枚举项英文名称返回。

        Desc:程序数据往前端返回是由springmvc处理,springmvc底层以JackJson包处理Json数据。

        Solution:JackJson用一些注解标记枚举里的值究竟把谁返回。注解标记为:@JsonValue,加哪个字段上,就返回谁的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值