日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

在枚舉類中“優雅地”使用枚舉處理器

作者:m0_59259076 更新時間: 2023-10-11 編程語言

使用枚舉類的一大好處就是,代碼易懂,方便自己或他人維護。如,枚舉狀態、異常等。

下面有兩個類(枚舉類和實體類):

package com.zhang.enums;

import lombok.Getter;

/**
 * @Author lgz
 * @Description
 * @Date 2023/9/30.
 */

@Getter
public enum  GlobalEnums {

    NORMAL(0,"正常"),
    FROZEN(1,"已刪除"),
    ;
    // @EnumValue
    // 這個注解,相當于告訴mp,這個字段對應數據庫的字段,往數據庫中寫
    private final int number;
    private final String description;


    GlobalEnums(int number, String description) {
        this.number = number;
        this.description = description;
    }
}

Animal類中有一個用戶狀態字段:

package com.zhang.entity;

@Data
public class Animal implements Serializable{


    // 其余字段...


    @ApiModelProperty(value = "刪除狀態(0-正常,1-已刪除,2-已凍結)")
    private Integer delFlag;


}

應用如下:

第一步:把字段的類型改成我們的enum類,如下:

package com.zhang.entity;

@Data
public class Animal implements Serializable{


    // 其余字段...


    @ApiModelProperty(value = "刪除狀態(0-正常,1-已刪除)")
    private GlobalEnums delFlag;


}

?第二步:在枚舉類中,在對應的字段是添加注解@EnumValue、?@JsonValue,如下:

package com.zhang.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;

/**
 * @Author lgz
 * @Description
 * @Date 2023/9/30.
 */

@Getter
public enum  GlobalEnums {

    NORMAL(0,"正常"),
    FROZEN(1,"已刪除"),
    ;
     @EnumValue
    // @EnumValue相當于告訴mp,這個字段對應數據庫的字段,往數據庫中寫
    private final int number;
     @JsonValue
     // @JsonValue加在對應的字段是會顯示對應的信息,
     // 比如,如果加到“number”上就返回個數字給前端,
     // 加到“description"上就返回”字符串“,
     // 如果不使用這個注解就返回“NORMAL”或“FROZEN”給前端。
    private final String description;


    GlobalEnums(int number, String description) {
        this.number = number;
        this.description = description;
    }
}

第三步:在properties或者yml文件中添加如下配置:

mybatis-plus.configuration.default-enum-type-handler=com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler

?第四步:測試:

    @GetMapping(value = "/listOfAll")
    public Result<?> listOfAll() {

        return Result.OK(animalService.listAnimals());
    }

原文鏈接:https://blog.csdn.net/m0_59259076/article/details/133432972

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新