mybatis-plus中的Enum用法实例
软件宫城狮 人气:0需求
数据库里存放1 2 3 ,写一个枚举类 ,1对应第一次,2对应第二次,3。。。,前端展示的数据当然也是,第一次,第二次。。。
接口
1、给前端返回列表数据
前端调用接口,数据库查询的字段为visit_stage为1,返回值visit_stage字段为第一次,
2、往数据库添加数据时,前端传的visit_stage值是"第一次"。通过枚举类的转换在数据库里存了 “1”
数据库字段
visit_stage数据类型是varchar
实体类字段
private VisitStageEnum visitStage;
枚举类
public enum VisitStageEnum implements IBaseEnum<Integer> { 一访(1, "一访"), 二访(2, "二访"), 三访(3, "三访"); VisitStageEnum(int code, String descp) { this.code = code; this.descp = descp; } private final int code; private final String descp; @Override public Integer getValue() { return code; } @Override public String getDescription() { return descp; } }
枚举接口
public interface IBaseEnum<T extends Serializable> extends IEnum<T>{ String getDescription(); }
yml文件中的配置
# MP 配置 mybatis-plus: type-enums-package: com.bjbss.bbcsupport.domain configuration: # 3.0.8之前版本问题默认将枚举注册为EnumOrdinalTypeHandler,这是错误的方式,默认是 org.apache.ibatis.type.EnumTypeHandler # 如果项目之中实体统一使用IEnum或注解的方式,可配置成 com.baomidou.mybatisplus.extension.handlers.EnumTypeHandler,也可省略上面的type-enums-package配置 # 配置type-enums-package只对注解方式的枚举处理能提前加载缓存. default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
注:
如果不指定org.apache.ibatis.type.EnumOrdinalTypeHandler
会报异常
No enum constant com.bjbss.bbcsupport.domain.VisitStageEnum.2
加载全部内容