当前使用版本(必填,否则不予处理)

版本:3.4.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

一切都是正常使用,只是数据库字段为bigint类型,条件构造的类型为Long类型,然后直接调用selectList去查询,没有数据。 由于之前使用过tkMabits,是可以这样用的,所以使用mp后也是这样用,但是出问题了。最后将字段类型改为varchar得以解决。

重现步骤(如果有就写完整)

定义数据库字段unique_id,字段类型为bigint,长度20,其他字段随意。

List<Long> uniqueId; // 条件类型为Long
QueryWrapper<Class> queryWrapper = new QueryWrapper<>();
        queryWrapper.in("unique_id", uniqueId);
List<Long> classList = classMapper.selectList(queryWrapper);

报错信息

无报错信息!

Comment From: tjlizz

uniqueId是从前端传入的吗, 我也碰到过,是不是Long从前端传入的时候精度丢失

 @JsonSerialize(using = ToStringSerializer.class)
 private Long devId;

Comment From: huayanYu

大概率是精度丢失问题,我们所有表都是bigint, 注意精度丢失