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