🍀 前言
博客地址:
- CSDN:https://blog.csdn.net/powerbiubiu
👋 简介
本章节介绍下Mybatis-Plus框架的通用枚举功能。
📖 正文
1 通用枚举的介绍
通过Mybatis-Plus
框架提供的通用枚举功能,枚举可以重复利用,代码可读性提升,更不容易发生数值设置错误的情况发生。
比如在前面第四章节的时候,用户类中,我们性别使用的是Integer
表示的。
private Integer sex;
我们操作用户表添加数据,对性别的设置还在使用数字0,1,2来表示男女未知,这种情况下,代码不仅不优雅,而且容易发生数值错误。这时候就可以使用枚举来替代了。
2 通用枚举的使用
Tips:
Mybatis-Plus推荐3.5.2
版本,这个版本之后对通用枚举配置步骤进行了简化,如果低于这个版本,可以参考Mybatis-Plus官网,进行配置。
2.1 新增枚举类
首先在项目中新增一个enums
包,在该包下新增GenderEnum
枚举类。
package com.power.mpdemo.enums;import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;/*** @author power* @time 2023/12/25 11:02* @Description*/
@Getter
public enum GenderEnum {FAMALE(0, "女"),MALE(1, "男"),UNKNOWN(2, "未知");@EnumValueprivate final Integer code;private final String description;GenderEnum(Integer code, String description) {this.code = code;this.description = description;}
}
Tips:
@EnumValue
注解用于告诉 MP 存数据时,使用 code 字段的值。
2.2 修改实体类
将实体类中下面的代码
@ApiModelProperty("性别(0:女 1:男 2:保密)")
private Integer sex;
修改成
@ApiModelProperty("性别(0:女 1:男 2:保密)")
private GenderEnum sex;
2.3 添加用户
@Test
public void insert() {// 模拟创建一个用户User user = User.builder().username("test01").password("123456").name("测试账号01").email("123456789@qq.com").phone("18811111111").avatar("头像地址url").sex(GenderEnum.MALE).description("测试").build();// 调用添加用户的接口int insert = userMapper.insert(user);System.out.println("插入结果:" + insert);
}// 插入结果:1
这个时候,我们添加用户的时候,性别就可以用GenderEnum.MALE
枚举的方式来进行设置了。
实际执行的SQL
INSERT INTO tb_user ( username, password, name, email, phone, avatar, sex, description )
VALUES ( 'test01', '123456', '测试账号01', '123456789@qq.com', '18811111111', '头像地址url', 1, '测试' )
通过执行的SQL我们看到,在设置的时候使用了枚举的MALE
值,实际插入数据库的值则为1
。