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 = ?)

在这里插入图片描述



  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeJiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值