摘要: 记一次使用MyBatis-Plus枚举注入的踩坑记录
什么是枚举自动注入?
官方文档是这么解释的
解决了繁琐的配置,让 mybatis 优雅的使用枚举属性!
按我的理解是维护在内存中且不易修改的轻量级字典。目前觉得这个功能的使用场景相对有限,但是如果有用到的话开箱即用也是很棒的。废话不多说,接下来让我们看一下它的实际效果吧。
实际效果
通常情况下,我们会这样声明一个用户实体
public class User {
private String id; private String name; private Integer age; private String phone;
//省略getter&setter&constructor ...
}那么最终获取到的JSON数据应该类似于这样
{ id: "1",
name: "张三",
age: 18,
phone: "10000"}如若使用MyBatis-Plus的枚举自动关联注入,可以更优雅的实现如下效果
{ id: "1",
name: "张三",
age: "十八岁",
phone: "中国电信"}实现步骤
实现过程仅有三步且非常简单,代码量也非常的少,下面介绍一下实现步骤。
1.创建两个枚举对象,分别为AgeEnum与PhoneEnum,这里使用枚举建立一个映射关系。
public enum AgeEnum implements IEnum {
ONE(1, "一岁"),
TWO(2, "二岁"); private int age; private String desc;
AgeEnum(final int age, final String desc) { this.age = age; this.desc = desc;
} @Override
public Serializable getValue() { return this.age;
} @JsonValue
public String getDesc(){ return this.desc;
}
}public enum PhoneEnum implements IEnum {
CMCC("10086", "中国移动"),
CUCC("10010", "中国联通"),
CT("10000", "中国电信"); private String phone; private String desc;
PhoneEnum(final String phone, final String desc) { this.phone = phone; this.desc = desc;
} @Override
public Serializable getValue() { return this.phone;
} @JsonValue
public String getDesc(){ return this.desc;
}
}注意:
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦

