亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

MyBatis-Plus 使用枚舉自動關聯注入

標簽:
MySQL C

摘要: 记一次使用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 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消