Mybatis-plus中如何将整型映射为对应的枚举类


实体类:

@TableName("activity_info")
public class ActivityInfo extends BaseEntity {
	
	@TableField("activity_name")
	private String activityName;

	@TableField("activity_type")
	private ActivityType activityType;
}

枚举类ActivityType:

@Getter
public enum ActivityType {

    FULL_REDUCTION(1, "满减"),
    FULL_DISCOUNT(2, "满量打折");

    @EnumValue
    private Integer code;

    private String comment ;

    ActivityType(Integer code, String comment ){
        this.code=code;
        this.comment=comment;
    }
}

数据库表activity_info中activity_type字段为整型,存储1和2。但是对应的实体类的activityType字段却为枚举类ActivityType类型,如果我们通过mybatis-plus直接查询会导致字段映射失败,提示整型字段无法映射为枚举类。我们只需要在配置文件中进行如下配置,同时在枚举类中在数据表中对应映射字段添加@EnumValue注解

#配置枚举 支持通配符 * 或者 ; 分割。指定枚举类所在的包
mybatis-plus:
  type-enums-package: com.demo.mybatisplus.enum 
  configuration:
    default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
  #handler配置可以省略不写,默认配置就是上面这个Handler

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值