目錄
1 前言
2 使用方法
2.1 在application.yml中添加配置
2.2 定義枚舉類
?2.3 在實體類和賦值時中使用
1 前言
在我們的開發過程中,常常需要用一些數字來表示狀態。比如說:1-正常,0-凍結。然而這樣并不能做到見名知意,特別是狀態較多的時候。當然我們可以通過定義常量類等方法來解決,不過這里我將介紹枚舉的解決方法,及枚舉處理器。
其實這個枚舉處理器Mybatis就有,但是聽說弄的一般般,所以我們這里主要介紹Mybatis plus的。
2 使用方法
2.1 在application.yml中添加配置
mybatis-plus:configuration:default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
2.2 定義枚舉類
@Getter
public enum UserStatus {NORMAL(1, "正常"),FROZEN(2, "凍結"),;@EnumValue@JsonValueprivate final int value;private final String desc; //描述UserStatus(int value, String desc) {this.value = value;this.desc = desc;}
}
注解含義的解釋:
①@EnumValue:標記value是向數據庫中寫入的參數,畢竟在我們的數據庫中仍然是整型存儲的
②@JsonValue:如果不添加該注解,那么前端只能得到NORMAL或者FROZEN的字符串,如下:
"status":?"NORMAL"
加了就會得到value的值(1或2),如下:
"status":?1
?2.3 在實體類和賦值時中使用
實體類中:
public class User {//其它代碼../*** 使用狀態(1正常 2凍結)*/private UserStatus status;
}
賦值時:
lambdaUpdate()//其它代碼....set(remainBalance == 0, User::getStatus, UserStatus.FROZEN).update();