java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Mybatisplus枚举处理器

Mybatis plus枚举处理器的具体使用

作者:厂里英才

在开发中,数据库表中的字段很常见会使用枚举类型来表示一些固定的取值范围,本文主要介绍了Mybatis plus枚举处理器的具体使用,具有一定的参考价值,感兴趣的可以了解一下

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
    @JsonValue
    private 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();

到此这篇关于Mybatis plus枚举处理器的具体使用的文章就介绍到这了,更多相关Mybatisplus枚举处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文