我们采用debug跟踪一下代码,可以看到在查找枚举BizType的映射处理器的时候使用了mybatis-plus复合枚举处理类型CompositeEnumTypeHandler 这里可能我们有疑问,TypeHandlerRegistry.defaultEnumTypeHandler这个默认枚举处理器是怎么设置进去的了,其实是构建MybatisConfiguration的时候设置的 接着我们往下debug可以看到使用了mybatis-plus...
而Mybatis-Plus 从 3.5.2 版本开始只需使用 @EnumValue 注解枚举属性,简单来说就是一个注解解决了一系列配置,本文也将讲解 @EnumValue 注解枚举属性这种方式! 三、通用枚举实战 接下来用具体的例子看一下mybatis-plus通用枚举的使用。 3.1定义枚举 3.1.1方式1:@EnumValue标注入库映射字段 使用注解@EnumValue定义...
UserType packagecom.ly.plugins.mybatisplus;importcom.baomidou.mybatisplus.annotation.IEnum;importlombok.AllArgsConstructor;importlombok.Getter;/***@author: ly*/@Getter@AllArgsConstructorpublicenumUserTypeimplementsIEnum<Integer> {ADMIN(1,"admin"),NORMAL(2,"normal");privateInteger code;privateString va...
我们在使用ORM框架的时候,经常会碰到这种情况,比如数据库中有一个tinyint或char类型的gender字段,映射成为实体对象时倾向使用GenderEnum这样的枚举类型,因为这样使用起来比较方便,否则我们就需要手动转换枚举类型,如果这样的字段比较多,这样的手动转换还是比较费时费力的。如果我们使用的时MybatisPlus,那么处理这样的情况就...
// mybatis枚举类型与数据存储值映射 @EnumValue private String code; // 序列化结果值 @JsonValue private String name; public String getCode() { return code; } public String getName() { return name; } // 若不配置@JsonCreator,jackson反序列化时则使用@JsonValue标记的字段做映射 ...
default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler 1. 2. 3. 4. 5. 6. 7. 8. 2. 定义枚举 2.1 方式一 使用@EnumValue注解 package com.gangbb.test.enums; import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonValue; ...
最近看到有人使用这几个注解,就稍微了解了一下各自的用法,发现枚举在前后台传值,DB和entity之间的映射很方便 1.使用@JsonCreator,可以将前台的属性值直接转换为枚举类型 2.@EnumValue 将枚举中的指定的值直接存储到数据库,不需要再手动转换 3.@JsonValue 后台返回前台数据时也不需要转换,可以直接返回指定的值 ...
mybatisplus的枚举值映射1.定义枚举值 @Getter public enum AlarmType{ Live(1, "XXX"),BD(2, "XXX"),Server(3,"XXX");@JsonCreator AlarmType(Integer val, String desc) { this.val = val;this.desc = desc;} @EnumValue private final Integer val;@JsonValue private final String desc;} 2....
import com.baomidou.mybatisplus.annotation.EnumValue;import lombok.Data;@Datapublic class User {private Integer id;private String name;@EnumValue // 声明该字段需要枚举处理器进行映射private RoleEnum role;} 在上述示例中,我们使用@EnumValue注解标识了role字段,告诉MyBatis-Plus这是一个需要通过枚举处理器...