Invilad value for getInt() - 'xxx'

8 篇文章 0 订阅
7 篇文章 0 订阅

环境是MyBatis + MyBatis Plus + MySQL 5.7 + SpringBoot 2.x。使用mybaits-plus的查询方法映射数据到对象时报错,错误信息在下面有贴。

异常代码:

List<WxPublicAccountInfo> list = wxPublicAccountInfoMapper.selectList(null);

先说一下我的解决方案,然后再介绍下情况。没时间看完的可以跳过后半段。

去除lombok注解,使用手动生成的get set方法和构造方法


然后开始介绍一下故事背景,先贴一下异常信息:

因为涉及公司隐私,打码内容等同于 'ABCD'

异常信息.png

网上说的方案大概有下面几种:

  1. 映射对象中该字段和数据库该字段的类型对应不上,看评论,很多人确实是这个问题。但我遇到的问题并不是这个原因。
  2. 字段长度太长(我觉得这个根本不沾边)

因为数据库映射的类里会定制较多业务相关的构造方法,所以在最开始我删除了逆向生成的代码里的get和set。换成了 lombok@Data 注解。我的 lombok 版本是 1.18.8 。我不太清楚是不是因为这个版本有bug还是我在数据库实体类里使用所以才有问题,后续有机会深入学习 lombok 原理的时候再作分析。

解决方法在上面已经给出来了,有知道原因的大佬欢迎留言告知,不胜感激。


惯例,厚颜无耻的放一下我的公众号,欢迎各位大佬来一起探讨技术,交流读书心得

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值