枚举的处理,MybaitsPlus+JackSon

通过注解实现枚举的自动转化:

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;

/**
 * @author Yungui.zheng
 * @since 2020/10/28
 */

@Getter
@JsonFormat(shape = JsonFormat.Shape.STRING)
public enum FlagEnum implements IBaseEnum<Integer> {
    /**
     * YES:是,NO:否
     */

    NO(0, "否"),
    YES(1, "是");

    @EnumValue
    private final Integer value;
    @JsonValue
    private final String desc;


    FlagEnum(Integer value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    public static FlagEnum getByCode(String code) {
        for (FlagEnum e : FlagEnum.values()) {
            if (e.name().equals(code)) {
                return e;
            }
        }
        return null;
    }

    public static Integer getByValueCode(String code) {
        for (FlagEnum e : FlagEnum.values()) {
            if (e.name().equals(code)) {
                return e.getValue();
            }
        }
        return null;
    }

}

  

@JsonValue  标识对象转化为json数据时候显示的字段值
@EnumValue MybaitsPlus 在数据库独写时候枚举和实际值的自动转化

 
原文地址:https://www.cnblogs.com/irobotzz/p/13932966.html