七、MybatisPlus通用枚举的使用

通用枚举

表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现

数据库表添加字段sex

image

创建通用枚举类型

package com.study.demo.enums;
import lombok.Getter;
@Getter
public enum SexEnum {
    MALE(1, "男"),
    FEMALE(2, "女");

    private Integer sex;
    private String sexName;

    SexEnum(Integer sex, String sexName) {
        this.sex = sex;
        this.sexName = sexName;
    }
}

实体类添加枚举类型字段

package com.study.demo.pojo;

import com.study.demo.enums.SexEnum;
import lombok.Data;

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
    private SexEnum sex;
}

测试

@Test
public void test() {
    User user = new User();
    user.setName("Enum");
    user.setAge(20);
    user.setSex(SexEnum.MALE);
    userMapper.insert(user);
}

image

MybatisPlus通用枚举使用

枚举类型上添加注解

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;
@Getter
public enum SexEnum {
    MALE(1, "男"),
    FEMALE(2, "女");

    @EnumValue
    private Integer sex;
    private String sexName;

    SexEnum(Integer sex, String sexName) {
        this.sex = sex;
        this.sexName = sexName;
    }
}

配置扫描通用枚举

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  type-aliases-package: com.study.demo.pojo
  # 配置扫描通用枚举
  type-enums-package: com.study.demo.enums

测试

@Test
public void test() {
    User user = new User();
    user.setName("Enum");
    user.setAge(20);
    //设置性别信息为枚举项,会将@EnumValue注解所标识的属性值存储到数据库
    user.setSex(SexEnum.MALE);
    userMapper.insert(user);
}

image

posted @ 2023-03-01 11:35  wandoubaguo  阅读(170)  评论(0编辑  收藏  举报