PageHelper.startPage(page,pageSize);
设置页码和每页显示的条数
查看源码PageInterceptor类,实现了Interceptor接口
实现了Interceptor接口会重写下面三个方法
定义了拦截器,拦截Executor的query方法
在执行以下查询时,拦截器触发
List<Map<String, Object>> list = detailMapper.findCourseCredits(studentCode);
我们的分页逻辑在intercept(Invocation invocation)方法,拦截器触发会执行这个方法
先查询总记录数,然后查询当页记录
当查询总的记录数时会把所有的字段查询出来,当数据量大的时候这样会导致查询速度很慢,正常我们查询总条数应该只用查询一个主键字段就行,我们查看源码发现
这样我们再mapper中添加一个findCourseCredits_COUNT查询
重新debug试试,此时查询总记录数就是按照我们mapper中写的