在MyBatisPlus中,枚举类型(Enum)的转化是一个常见的需求。通常,数据库中的某些字段会存储为特定的状态码或类型码,而在Java代码中,我们希望将这些状态码或类型码映射为更具可读性和可维护性的枚举类型。这样,不仅可以提高代码的可读性,还可以方便地增加或修改状态码而无需修改大量的业务逻辑。 MyBatisPlus中用于枚举...
@Data@TableName("sys_role")public class Role { /** 角色类型 */ private RoleType type;} 1. 配置扫描的枚举包路径 mybatis-plus: typeEnumsPackage: com.yanyu.spring.mybatisplus.enums 1. 从结果可以看出查询出的角色类型自动转换成了枚举ADMIN 当Mybatis-plus自带的原生方法不能满足我们的需求,我们...
如果不想继承IEnum<T>,可以通过第二种方式,就是增加一个注解的方式@EnumValue @EnumValue private Integer value; @JsonValue private String desc; 自动转换实现: 配置了Enums枚举,实体中设置了枚举类型,那么mybatis-plus如何转换的呢?重点是看这里 mybatis-plus: global-config: db-config: logic-not-delete-...
# 3.0.8之前版本问题默认将枚举注册为EnumOrdinalTypeHandler,这是错误的方式,默认是 org.apache.ibatis.type.EnumTypeHandler # 如果项目之中实体统一使用IEnum或注解的方式,可配置成 com.baomidou.mybatisplus.extension.handlers.EnumTypeHandler,也可省略上面的type-enums-package配置 default-enum-type-handler: org....
pojo # 配置扫描通用枚举 type-enums-package: cabbage.pojo 而注解@EnumValue所标识的属性值会存储到数据库,相当于语句INSERT INTO t_user ( username, age, sex ) VALUES ( ?, ?, ? ) Parameters: Enum(String), 20(Integer), 1(Integer)。 点击关注,第一时间了解华为云新鲜技术~...
@EnumValue标记的枚举类属性的类型要和数据库字段的类型对应,否则在查询数据的时候无法转化为枚举类型,并显示为null; 如果查询的时候,数据库字段的值匹配不到枚举,程序运行时并不会报错,而是显示为null; 在保存的时候,前端需要传递@JsonValue标记的枚举类属性的值,即"男/女";因为Enum的属性ordinal(int),在测试过程...
简介:在数据库操作中,枚举类型的值往往需要与数据库表中的某个字段进行映射,以便在操作中能够进行相应的转换。MyBatis Plus作为一款强大的ORM框架,提供了注解 `@EnumValue`,使开发者能够更加灵活地处理枚举值与数据库字段的映射关系,从而减少了繁琐的转换逻辑。本文将详细介绍 `@EnumValue` 注解的用法及其在持久层开...
比方说我的枚举类型定义为这样: 示例枚举(value,desc) 在储存到数据的时候,我们肯定只存value到数据库中,由于Mybatis的接口返回的是Serializable,它自己封装的添加方法是怎么转化的,我还没有找到,所以就只能自己重写一个; 在重写的时候,只需要重写setNonNullParameter这个方法就行,其他的方法在MybatisPlus中已经实现好...
指定主键类型枚举IdType支持的类型有:值 描述 AUTO 数据库 ID 自增 NONE 无状态,该类型为未设置主键类型(如果全局配置中有 IdType 相关的配置,则会跟随全局配置。)当我们设置 @TableId 类型为NONE 时,且不手动设置主键值,MyBatisPlus将默认给出一个 Long 类型的字符串,因为全局配置默认为ASSIGN_ID。 INPUT in...
private GradeEnum grade;//数据库grade字段类型为int } 1. 2. 3. 4. 5. 6. 基础配置 首先想要使用枚举类与MyBatisplus交互,需要将该枚举类包扫描注册一下 mybatis-plus: # 配置枚举类扫描并注册对应枚举类匹配器 typeEnumsPackage: com.example.demo.enums ...