亲宝软件园·资讯

展开

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

加载全部内容

相关教程
猜你喜欢
用户评论