调用方法判断是否需要进行分页,如果不需要,直接返回结果;
4. 判断是否要进行count, 如果需要则实现一次count, ;
5. 查询分页结果;
6....封装带分页的结果返回;
下面我们就每个细节依次看看实现吧.
4.4 是否跳过分页判定
首先会进行是否需要跳过分页逻辑,如果跳过, 则直接执行mybatis的核心逻辑继续查询....4.5 pageHelper 的 count 操作
判断是否是否需要count, 这些判定都会以 PageHelper 作为门面类进行接入, 而特殊地方则由具体方言实现.
// com.github.pagehelper.PageHelper...}
/**
* 是否可以用简单的count查询方式
*/
// net.sf.jsqlparser.statement.select.PlainSelect...最后, 我们再来看下oracle的核心分页的时候, 以理解pagehelper 的良苦用心.
5. oracle sql 变换
前面我们以mysql为样例, 看了pagehelper的转换过程, 其核心自然是