一、理解MyBatis Plus中的枚举转换问题 在MyBatis Plus中,枚举转换主要涉及两个方面: 数据库交互:当实体类中的字段为枚举类型时,需要将其转换为数据库能够存储的值(通常是整型),并在读取数据库数据时将其转换回枚举类型。 JSON序列化:在将实体类对象序列化为JSON时,需要将枚举字段转换为可读的字符串或数字,并在...
在MyBatis-Plus 中,枚举自动转换是一个非常实用的功能,它能够将数据库中的数字类型与 Java 枚举类型进行自动映射。通过使用枚举自动转换,我们可以方便地将数据库查询结果映射到对应的枚举类型,同时也能够在保存数据时将枚举值自动转换为对应的数字类型。一、实现原理MyBatis-Plus 的枚举自动转换功能主要依赖于 Java 的...
MyBatis-Plus中提供了通用枚举,简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据读给用户,用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子:用户性别在数据库中存储为1(表示男)、2(表示女)。在读取数据时就会自动将12值转换为男或女。 这样做是可以有效地节省数据库的...
mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpltype-enums-package:com.example.mybatisplus.enum#枚举类的包路径,一定不也能错,否则报错 1.2 方式二 publicenumSexEnum{ MALE(1,"男"), FEMALE(2,"女"); SexEnum(Integer code, String value) {this.code = code;this.va...
mybatis-plus实现了对“实体类指定了枚举类型,想查询时返回的是枚举值而非value值”,“插入数据时,实体赋值的是枚举类型,想入库时插入对应的value值”,“不想写其他的handler处理程序,希望能够自动处理”。 mybatis-plus对于上述的诉求都可以满足,简单的处理方案是: ...
2.枚举转换 (1).创建枚举 主要用到2个注解@EnumValue和@JsonValue。@EnumValue注明写入数据库字段值;@JsonValue是Jackson方式带的注解,注明response返回值。 packagecom.kinglead.demo.enums; importcom.baomidou.mybatisplus.annotation.EnumValue;importcom.fasterxml.jackson.annotation.JsonValue; ...
原因是⽆法使⽤Mybatis默认的转换器EnumTypeHandler 进⾏转换,解决⽅法:只需要修改mybatis⽂件,添加ResultMap配置,对需要枚举转换的字段配置特定的转换类EnumOrdinalTypeHandler <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://...
*性别枚举 * * @TableField need */ @TableField(value = "sex") private UserSexEnum sex; /** *邮箱 */ private String email; //省略getter setter } ``` # 3、启用枚举类型转换 定义枚举类型转换器:使用`@MappingType( IEnum.class)`,其中`IEnum`实现类是Mybatis plus枚举类型转换器 ```java ...
通用枚举的使用场景有两种:一、在向数据库写入数据时,将枚举转换为数据库字段需要的值;二、从数据库读数据时,将数据库字段的值转换为描述类的文字展示。 下面简单演示一下如何使用Mybatis-Plus实现通用枚举功能。 声明通用枚举属性 声明通用枚举属性有如下两种方式。 方式一: 实现 IEnum 接口 package com.panda.cru...