项目中使用了PageHelper,毕竟PageHelper简单方便。
但是当使用了Mybatis的collection标签进行集合映射的情况下,如果不使用子查询方式的映射,那么还使用PageHelper会出现数据条数错误的情况,这个时候要么改为select标签映射,要么就是手动进行分页。
我采取了手动分页的解决方案,但是当我测试接口的时候发现尽管我已经去掉了PageHelper.startPage();这一行代码,但是它仍然会拦截我的SQL并且在SQL末尾替我加上LIMIT关键字。除了网上说的在业务末尾调用PageHelper.clearPage()方法外,还有一种可能:在mapper层传递的两个参数,也就是页码和页面大小,不能按照平时的习惯写成pageNum和pageSize了,如果仍然用这两个参数名,那么PageHelper仍然会替你拦截这个SQL(管的真宽!!!)。所以我的问题就是将这两个参数换一个名字就好了。