此时情绪此时天,无事小神仙
好好生活,平平淡淡每一天

编辑

Mybatis 常见异常

Mybatis 列表查询只返回了部分数据,Sql 语句多出 limit

异常

// list查询接口
List<Info> infoList = xxxMapper.selectList();

列表查询接口,只返回了部分数据

原因

通过日志观察,发现日志打印的sql多了limit参数,怀疑时与分页有关;
基于此,搜索资料发现,PageHelper插件是通过ThreadLocal实现分页的,page参数和线程是绑定在一起的,若是在前面其它的接口中page没消费,就会保留在这个线程上,会导致后续的接口消费了这个分页参数。

解决方案

在调用List<Info> infoList = xxxMapper.selectList();的方法前面加上PageHelper.clearPage(); 清除分页参数缓存。

posted @ 2024-11-18 15:28  踏步  阅读(4)  评论(0编辑  收藏  举报