今天来记录一下mybatisPlus中枚举的使用。这个在官网上也有记录,但实际的操作和官网有所出入,以下为亲测过程。
1.首先要有一个枚举
import com.baomidou.mybatisplus.annotation.EnumValue;
public enum TableName {
/**
* 动力总成
*/
POWER_ASSEMBLY("POWER_ASSEMBLY111", "动力总成"),
;
//标记数据库存的值是code
@EnumValue
private String code;
private String name;
TableName(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
@Override
public String toString() {
return name;
}
}
这里关键的两步是@EnumValue注解和重写toString方法。
2.需要一个配置扫描路径来扫描@EnumValue注解
# 支持统配符 * 或者 ; 分割
mybatis-plus.type-enums-package=com.adc.da.common.entity.enums
3.注入一个bean,用来返回时显示name
/**
* 使用枚举时在用来显示正确内容
* @return
*/
@Bean
public Jackson2ObjectMapperBuilderCustomizer customizer(){
return builder -> builder.featuresToEnable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
}
4.测试
搞定!