Mybatis的分页插件PageHelper源码解析和性能优化

一、Maven中引入依赖

二、代码中分页的使用


三、源码分析

PageHelper.startPage(page,pageSize);
设置页码和每页显示的条数

查看源码PageInterceptor类,实现了Interceptor接口

实现了Interceptor接口会重写下面三个方法vue


定义了拦截器,拦截Executor的query方法ios

在执行如下查询时,拦截器触发
List<Map<String, Object>> list = detailMapper.findCourseCredits(studentCode);

咱们的分页逻辑在intercept(Invocation invocation)方法,拦截器触发会执行这个方法c++



先查询总记录数,而后查询当页记录es6


四、性能优化

当查询总的记录数时会把全部的字段查询出来,当数据量大的时候这样会致使查询速度很慢,正常咱们查询总条数应该只用查询一个主键字段就行,咱们查看源码发现

这样咱们再mapper中添加一个findCourseCredits_COUNT查询

从新debug试试,此时查询总记录数就是按照咱们mapper中写的web



相关文章
相关标签/搜索