文章目录
点击访问MyBatis-Plus官网 通用枚举
1、定义通用枚举
1.1、方式一: 使用 @EnumValue 注解枚举属性
// 定义通用枚举 SexEnum 并使用 @EnumValue 注解枚举属性
@Getter
public enum SexEnum {
MAN(1, "男"),
WOMAN(0, "女");
// MyBatis-Plus注解:标记数据库存的值是code
@EnumValue
private Integer sex;
private String sexcName;
SexEnum(Integer sex, String sexcName) {
this.sex = sex;
this.sexcName = sexcName;
}
}
1.2、方式二: 枚举属性,实现 IEnum 接口
// 定义通用枚举 SexEnum 并实现 IEnum 接口
@Getter
public enum SexEnum implements IEnum<Integer> {
MAN(1, "男"),
WOMAN(0, "女");
private Integer sex;
private String sexcName;
SexEnum(Integer sex, String sexcName) {
this.sex = sex;
this.sexcName = sexcName;
}
}
2、实体相应属性使用枚举类型
// 需求:user表增加sex字段代表性别,更改User类增加sex
@Data
public class User {
private Long id;
private String name;
private Integer age;
private SexEnum sex;
private String email;
}
3、修改配置文件配置扫描通用枚举
注意!! 从 3.5.2 开始无需配置!!!
3.1、方式一:仅配置指定包内的枚举类使用 MybatisEnumTypeHandler
# 修改配置文件,配置MyBatis-Plus扫描通用枚举(从 3.5.2 开始无需配置)
mybatis-plus:
# 配置扫描通用枚举(支持统配符 * 或者 ; 分割)
type-enums-package: com.atguigu.mybatisplus.enums
3.2、方式二:直接指定 DefaultEnumTypeHandler
此方式用来 全局
修改 mybatis 使用的 EnumTypeHandler
mybatis-plus:
# 修改 mybatis 的 DefaultEnumTypeHandler
configuration:
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
自定义配置类 MybatisPlusAutoConfiguration:
@Configuration
public class MybatisPlusAutoConfiguration {
@Bean
public MybatisPlusPropertiesCustomizer mybatisPlusPropertiesCustomizer() {
return properties -> {
GlobalConfig globalConfig = properties.getGlobalConfig();
globalConfig.setBanner(false);
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setDefaultEnumTypeHandler(MybatisEnumTypeHandler.class);
properties.setConfiguration(configuration);
};
}
}
4、测试
userMapper.updateById(new User(2L, "哈哈哈", 20, SexEnum.MAN, "hahaha@haha.com"));
完美؏؏☝ᖗ乛◡乛ᖘ☝؏؏!!!