七、MybatisPlus通用枚举的使用
通用枚举
表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现
数据库表添加字段sex
创建通用枚举类型
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);
}
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);
}