转载:springboot mybatisplus enum 枚举返回中文描述, 动态转换成相应的描述,程序达人 | 爱程序,爱分享

枚举类:

package com.wenhe.blogdao.model.enums;

public enum ArticleStateEnum  {

    NotReviewed(0, "未审核"),
    Reviewed(1, "审核通过"),
    Reject(2, "驳回");

    @EnumValue
    private final Integer code;

    public int getCode() {
        return this.code;
    }
    @JsonValue
    private final String desc;

    public String getDesc(){
        return desc;
    }

    ArticleStateEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static   String getDesc(int code) {
        for (ArticleStateEnum value : ArticleStateEnum.values()) {
            if (Objects.equals(code, value.getCode())) {
                return value.getDesc();
            }
        }
        return null;
    }

    @Override
    public String toString() {
        return this.desc;
    }
}

实体类:

public class Article  {

    private static final long serialVersionUID = 1L;


    /**
     * 0 未审核 不显示  ,, 1  会员发布未审核,,2 审核通过 ,, 3 草稿箱 ,, 4回收站  ,,
     */
    @JSONField(serialzeFeatures= SerializerFeature.WriteEnumUsingToString)
    private ArticleStateEnum articleState;

}

application.yml mybatisplus 配置:

mybatis-plus:
  mapper-locations: classpath*:com/wenhe/blogdao/mapper/mapping/**.xml
  type-aliases-package: com.wenhe.blogdao.model
  global-config:
    db-config:
      id-type: AUTO  #0:数据库ID自增   1:用户输入id  2:全局唯一id(IdWorker)  3:全局唯一ID(uuid)
      logic-delete-value: 0
      logic-not-delete-value: 1

  configuration:
    map-underscore-to-camel-case: false
    cache-enabled: true #配置的缓存的全局开关
    lazyLoadingEnabled: true #延时加载的开关
    multipleResultSetsEnabled: true #开启的话,延时加载一个属性时会加载该对象全部属性,否则按需加载属性
    default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
  type-enums-package: com.wenhe.blogdao.model.enums
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用

注:mybatis plus的依赖包是3.5.2版本,低版本可能会报错!

<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.5.2<</version>
</dependency>

Logo

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

更多推荐