需求

数据库里存放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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐