使用枚舉類(lèi)的一大好處就是,代碼易懂,方便自己或他人維護(hù)。如,枚舉狀態(tài)、異常等。
下面有兩個(gè)類(lèi)(枚舉類(lèi)和實(shí)體類(lèi)):
package com.zhang.enums;
import lombok.Getter;
/**
* @Author lgz
* @Description
* @Date 2023/9/30.
*/
@Getter
public enum GlobalEnums {
NORMAL(0,"正常"),
FROZEN(1,"已刪除"),
;
// @EnumValue
// 這個(gè)注解,相當(dāng)于告訴mp,這個(gè)字段對(duì)應(yīng)數(shù)據(jù)庫(kù)的字段,往數(shù)據(jù)庫(kù)中寫(xiě)
private final int number;
private final String description;
GlobalEnums(int number, String description) {
this.number = number;
this.description = description;
}
}
Animal類(lèi)中有一個(gè)用戶狀態(tài)字段:
package com.zhang.entity;
@Data
public class Animal implements Serializable{
// 其余字段...
@ApiModelProperty(value = "刪除狀態(tài)(0-正常,1-已刪除,2-已凍結(jié))")
private Integer delFlag;
}
應(yīng)用如下:
第一步:把字段的類(lèi)型改成我們的enum類(lèi),如下:
package com.zhang.entity;
@Data
public class Animal implements Serializable{
// 其余字段...
@ApiModelProperty(value = "刪除狀態(tài)(0-正常,1-已刪除)")
private GlobalEnums delFlag;
}
?第二步:在枚舉類(lèi)中,在對(duì)應(yīng)的字段是添加注解@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相當(dāng)于告訴mp,這個(gè)字段對(duì)應(yīng)數(shù)據(jù)庫(kù)的字段,往數(shù)據(jù)庫(kù)中寫(xiě)
private final int number;
@JsonValue
// @JsonValue加在對(duì)應(yīng)的字段是會(huì)顯示對(duì)應(yīng)的信息,
// 比如,如果加到“number”上就返回個(gè)數(shù)字給前端,
// 加到“description"上就返回”字符串“,
// 如果不使用這個(gè)注解就返回“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
?第四步:測(cè)試:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-728657.html
@GetMapping(value = "/listOfAll")
public Result<?> listOfAll() {
return Result.OK(animalService.listAnimals());
}
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-728657.html
到了這里,關(guān)于在枚舉類(lèi)中“優(yōu)雅地”使用枚舉處理器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!