转载: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>