天天看點

如何使用Mybatis-plus處理枚舉值

源碼

1. 使用者管理中存儲男女對應的key值100、101
2. maven依賴配置
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!--  目前版本的mybatis-plus不需要在配置檔案中定義type-enums-package屬性  -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.24</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.31</version>
    </dependency>
</dependencies>
           
3. 定義枚舉類GenderEnum

關鍵點:

@EnumValue:标注哪一個字段是資料庫裡的字段;

@JsonValue:标注要開啟自定義序列化傳回值;

toString:具體的傳回值;

// GenderEnum枚舉類
@AllArgsConstructor
public enum GenderEnum implements IEnum {

    MAIL(100, "男"),
    FEMAIL(101, "女"),
    UNKNOWN(102, "未知");
    ;
    // 存入資料庫的value值
    @EnumValue
    private Integer value;
    // 傳回到前端的值
    @JsonValue
    private String desc;

    @Override
    public Integer getValue() {
        return value;
    }


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


           
5.結果
1)插入
如何使用Mybatis-plus處理枚舉值
如何使用Mybatis-plus處理枚舉值
2) 查詢
如何使用Mybatis-plus處理枚舉值
如何使用Mybatis-plus處理枚舉值