在MyBatis Plus中,枚举转换主要涉及两个方面: 数据库交互:当实体类中的字段为枚举类型时,需要将其转换为数据库能够存储的值(通常是整型),并在读取数据库数据时将其转换回枚举类型。 JSON序列化:在将实体类对象序列化为JSON时,需要将枚举字段转换为可读的字符串或数字,并在反序列化时将其转换回枚举类型。 二、...
MyBatis-Plus中提供了通用枚举,简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据读给用户,用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子:用户性别在数据库中存储为1(表示男)、2(表示女)。在读取数据时就会自动将12值转换为男或女。 这样做是可以有效地节省数据库的...
在MyBatis-Plus 中,枚举自动转换是一个非常实用的功能,它能够将数据库中的数字类型与 Java 枚举类型进行自动映射。通过使用枚举自动转换,我们可以方便地将数据库查询结果映射到对应的枚举类型,同时也能够在保存数据时将枚举值自动转换为对应的数字类型。一、实现原理MyBatis-Plus 的枚举自动转换功能主要依赖于 Java 的...
自动转换实现: 配置了Enums枚举,实体中设置了枚举类型,那么mybatis-plus如何转换的呢?重点是看这里 mybatis-plus: global-config: db-config: logic-not-delete-value: 0 #逻辑未删除值为数据库主键 logic-delete-value: id #逻辑删除值是个d # logic-delete-value: "now()" #逻辑删除值是个db获取时间的...
1. 使用mybatis-plus转换枚举值 枚举值转换方式有很多,有以下方式: 后端写一个通用方法,只要前端传枚举类型,后端返回相应的枚举值前端去匹配 优点:能够实时保持数据一致性 缺点:如果有大量的枚举值转换,请求频繁,对服务造成不必要的压力,可以优化:将每个页面配置一个大的枚举,然后里边包含具体的枚举,这样操作比较繁琐...
@Data@TableName("sys_role")public class Role { /** 角色类型 */ private RoleType type;} 1. 配置扫描的枚举包路径 mybatis-plus: typeEnumsPackage: com.yanyu.spring.mybatisplus.enums 1. 从结果可以看出查询出的角色类型自动转换成了枚举ADMIN ...
*性别枚举 * * @TableField need */ @TableField(value = "sex") private UserSexEnum sex; /** *邮箱 */ private String email; //省略getter setter } ``` # 3、启用枚举类型转换 定义枚举类型转换器:使用`@MappingType( IEnum.class)`,其中`IEnum`实现类是Mybatis plus枚举类型转换器 ```java ...
SpringBoot+Mybatis 实体使用枚举类型时报错:No enum constant com.test.model.survey.QuType.1 原因是无法使用Mybatis默认的转换器EnumTypeHandler 进行转换,解决方法: 只需要修改mybatis文件,添加ResultMap配置,对需要枚举转换的字段配置特定的转换类EnumOrdinalTypeHandler ...
我们在使用ORM框架的时候,经常会碰到这种情况,比如数据库中有一个tinyint或char类型的gender字段,映射成为实体对象时倾向使用GenderEnum这样的枚举类型,因为这样使用起来比较方便,否则我们就需要手动转换枚举类型,如果这样的字段比较多,这样的手动转换还是比较费时费力的。如果我们使用的时MybatisPlus,那么处理这样的情况就...