通过注解实现枚举的自动转化:
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 在数据库独写时候枚举和实际值的自动转化