mybatis-plus中的Enum用法案例

本文介绍了如何在数据库中使用枚举类管理访问阶段,如1代表第一次,前端通过字符串第一次传递并映射为1。讲解了接口设计、数据库字段设置、实体类与枚举实现,并提到了MyBatis Plus配置与枚举异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值