MybatisPlusConfig中配置枚举类进行转换
时间: 2024-09-23 20:04:13 浏览: 54
mybatis中实现枚举自动转换方法详解
MybatisPlus是一个基于MyBatis的优秀持久层框架增强工具,它简化了数据库操作的配置。在`MybatisPlusConfig`中,如果你想要让枚举类型的值在SQL查询结果中自动转换成枚举实例,你可以通过配置`EnumTypeHandler`来实现这个功能。
首先,你需要在`MybatisPlusConfig`的全局配置里添加一个`globalConfig`部分,并设置`dbColumnUnderline`为true,这将允许字段名转换为小写。然后,在`typeHandlers`属性下,为你的枚举类创建一个`TypeHandler`:
```java
MybatisPlusConfig mybatisPlusConfig = new MybatisPlusConfig();
mybatisPlusConfig.globalConfig().setDBColumnUnderline(true);
// 添加枚举类型处理器
mybatisPlusConfig.getTypeHandlers().put(YourEnum.class, YourEnumTypeHandler.class); // 替换为你的枚举类
// 创建并注册自定义的枚举类型处理器(例如对于UserStatus)
public class UserStatusTypeHandler extends EnumTypeHandler<UserStatus> {
@Override
public Object valueOfResult MapValue(Object value) {
return UserStatus.valueOf((String) value);
}
}
```
这里的`YourEnumTypeHandler`需要继承`EnumTypeHandler`,并在`valueOfResult`方法中处理从数据库返回的字符串并转换回枚举实例。
阅读全文