Mybatis-Plus:通用枚举
Posted CodeJiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis-Plus:通用枚举相关的知识,希望对你有一定的参考价值。
1. 通用枚举
解决了繁琐的配置,让 mybatis
优雅的使用枚举属性
1.1 修改表结构
为tb_user
表增加sex
字段,用于表示用户的性别,1
表示是男生,2
表示是女生。
Navicat
执行下列SQL
语句:
ALTER TABLE `tb_user` ADD COLUMN `sex` int(1) NULL DEFAULT 1 COMMENT '1-男,2-女';
1.2 定义枚举
SexEnum.java
package com.tian.enums;
import com.baomidou.mybatisplus.core.enums.IEnum;
public enum SexEnum implements IEnum<Integer>
MAN(1, "男"),
WOMAN(2, "女");
private final int value;
private final String desc;
SexEnum(int value, String desc)
this.value = value;
this.desc = desc;
@Override
public Integer getValue()
return this.value;
@Override
public String toString()
return this.desc;
1.3 配置枚举
# 枚举包扫描
mybatis-plus.type-enums-package=com.tian.enums
1.4 修改实体
1.5 测试
1.5.1 插入枚举数据
SpringbootMybatisplusApplicationTests.java
@Test
public void testInsert()
User user = new User();
user.setName("貂蝉");
user.setUserName("diaochan");
user.setPassword("123456");
user.setAge(20);
user.setEmail("diaochan@itast.cn");
// 设置貂蝉为女生
user.setSex(SexEnum.WOMAN);
int result = this.userMapper.insert(user);
System.out.println("result = " + result);
运行结果:
生成的sql
语句为:INSERT INTO tb_user ( id, user_name, password, name, age, email, sex ) VALUES ( ?, ?, ?, ?, ?, ?, ? )
1.5.2 查询枚举数据
SpringbootMybatisplusApplicationTests.java
@Test
public void testSelectBySex()
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("sex", SexEnum.WOMAN);
List<User> users = this.userMapper.selectList(wrapper);
for (User user : users)
System.out.println(user);
运行结果:
生成的sql
语句为:SELECT id,user_name,password,name,age,email,sex FROM tb_user WHERE (sex = ?)
以上是关于Mybatis-Plus:通用枚举的主要内容,如果未能解决你的问题,请参考以下文章