mybatis-plus 插入时设置枚举的映射 @EnumValue
一、配置文件 application.yml
mybatis-plus:
# 支持统配符 * 或者 ; 分割
type-enums-package: com.zfibs.austway.enums;com.zfibs.austway.enums.*
configuration:
default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
二、创建枚举
@Getter
public enum SexEnum {
WOMAN(1,"女"),
MAN(0,"男");
@EnumValue
private Integer type;
private String display;
SexEnum(Integer type,String display){
this.type = type;
this.display = display;
}
}
@Getter
public enum UserTypeEnum {
ADMIN("管理员"),
USER("普通用户");
private String display;
UserTypeEnum(String display) {
this.display = display;
}
}
三、将类型设置为对应枚举
private SexEnum sex;
private UserTypeEnum userType;
四、插入测试
@Test
public void enumOrdinal(){
User user = new User();
user.setName("test");
user.setSex(SexEnum.MAN);
user.setUserType(UserTypeEnum.ADMIN);
userMapper.insert(user);
}
五、数据库中的值展示
ID | name | sex | userType |
---|---|---|---|
1 | test | 0 | 0 |
总结:如果开启了mybaits-plus枚举映射配置,枚举上加上@EnumValue注解可以设置枚举映射数据;在没有设置@EnumValue注解的时候,则默认根据枚举的ordinal() 下标插入,下标起始值为0;