目录
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();