在数据库表设计的时候,表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现
数据库表中添加字段sex
创建通用枚举类型
package com.qcby.mybatisPlus.enums;
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日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
# 配置MyBatis-Plus操作表的默认前缀
table-prefix: t_
id-type: auto
mapper-locations: classpath:mapper/*.xml
#配置扫描通用枚举
type-enums-package: com.qcby.mybatisPlus.enums
测试
@SpringBootTest
public class MybatisPlusEnumTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSexEnum() {
User user = new User();
user.setName("Enum");
user.setAge(20);
user.setIsDeleted(0);
//设置性别信息为枚举项,会将@EnumValue注解所标识的属性值存储到数据库
user.setSex(SexEnum.MALE);
//INSERT INTO t_user ( username, age, sex ) VALUES ( ?, ?, ? )
//Parameters: Enum(String), 20(Integer), 1(Integer)
userMapper.insert(user);
}
}