Mybatis-Plus:通用枚举

2022-08-15 12:26:17

1. 通用枚举

解决了繁琐的配置,让mybatis 优雅的使用枚举属性


1.1 修改表结构

tb_user表增加sex字段,用于表示用户的性别,1表示是男生,2表示是女生。

Navicat执行下列SQL语句:

ALTER TABLE `tb_user` ADD COLUMN `sex`int(1) NULL DEFAULT1 COMMENT'1-男,2-女';

1.2 定义枚举

在这里插入图片描述
SexEnum.java

package com.tian.enums;import com.baomidou.mybatisplus.core.enums.IEnum;publicenum SexEnumimplementsIEnum<Integer>{MAN(1,"男"),WOMAN(2,"女");privatefinalint value;privatefinal String desc;SexEnum(int value, String desc){this.value= value;this.desc= desc;}@Overridepublic IntegergetValue(){returnthis.value;}@Overridepublic StringtoString(){returnthis.desc;}}

1.3 配置枚举

在这里插入图片描述

# 枚举包扫描
mybatis-plus.type-enums-package=com.tian.enums

1.4 修改实体

在这里插入图片描述


1.5 测试


1.5.1 插入枚举数据

在这里插入图片描述
SpringbootMybatisplusApplicationTests.java

@TestpublicvoidtestInsert(){
        User user=newUser();
        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

@TestpublicvoidtestSelectBySex(){
        QueryWrapper<User> wrapper=newQueryWrapper<>();
        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 = ?)

在这里插入图片描述



  • 作者:CodeJiao
  • 原文链接:https://codejiao.blog.csdn.net/article/details/123555267
    更新时间:2022-08-15 12:26:17