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

 更新时间:2024年03月25日 15:27:29   作者:厂里英才  
在开发中,数据库表中的字段很常见会使用枚举类型来表示一些固定的取值范围,本文主要介绍了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枚举处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 关于IDEA配置Hibernate中遇到的问题解决

    关于IDEA配置Hibernate中遇到的问题解决

    这篇文章主要给大家介绍了关于IDEA配置Hibernate中遇到的问题,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 一篇文章带你了解Java基础-多态

    一篇文章带你了解Java基础-多态

    这篇文章主要介绍了Java 多态的深入理解的相关资料,子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为,需要的朋友可以参考下
    2021-08-08
  • Mybatis Plus使用@TableId之坑及解决

    Mybatis Plus使用@TableId之坑及解决

    这篇文章主要介绍了Mybatis Plus使用@TableId之坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java 反射机制实例详解

    Java 反射机制实例详解

    这篇文章主要介绍了Java 反射机制实例详解的相关资料,这里对java中反射机制进行了详细的分析,需要的朋友可以参考下
    2017-09-09
  • Java实现XML格式与JSON格式互相转换的方法

    Java实现XML格式与JSON格式互相转换的方法

    这篇文章主要介绍了Java实现XML格式与JSON格式互相转换的方法,方法通过实例代码给大家介绍的非常详细,选择使用哪种格式通常取决于项目的需求和上下文,所以格式转换就成了我们必备的技能,具体实现代码跟随小编一起看看吧
    2023-10-10
  • java实用型-高并发下RestTemplate的正确使用说明

    java实用型-高并发下RestTemplate的正确使用说明

    这篇文章主要介绍了java实用型-高并发下RestTemplate的正确使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • SpringBoot轻松整合MongoDB的全过程记录

    SpringBoot轻松整合MongoDB的全过程记录

    这篇文章主要给大家介绍了关于SpringBoot轻松整合MongoDB的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • nexus私服启动不了问题及解决

    nexus私服启动不了问题及解决

    这篇文章主要介绍了nexus私服启动不了问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 详解Java如何优雅的使用策略模式

    详解Java如何优雅的使用策略模式

    设计模式是软件设计中常见问题的典型解决方案。 它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。今天就拿其中一个问题来分析如何优雅的使用策略模式吧
    2023-02-02
  • 浅谈hibernate之映射文件VS映射注解

    浅谈hibernate之映射文件VS映射注解

    下面小编就为大家带来一篇浅谈hibernate之映射文件VS映射注解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论