Mybatis 常见异常
Mybatis 列表查询只返回了部分数据,Sql 语句多出 limit
异常
// list查询接口
List<Info> infoList = xxxMapper.selectList();
列表查询接口,只返回了部分数据
原因
通过日志观察,发现日志打印的sql多了limit参数,怀疑时与分页有关;
基于此,搜索资料发现,PageHelper插件是通过ThreadLocal实现分页的,page参数和线程是绑定在一起的,若是在前面其它的接口中page没消费,就会保留在这个线程上,会导致后续的接口消费了这个分页参数。
解决方案
在调用List<Info> infoList = xxxMapper.selectList();
的方法前面加上PageHelper.clearPage();
清除分页参数缓存。