RowBounds是处理ResultSet结果集进行分页,也就是说是mybatis默认实现是逻辑分页,并不是物理分页。
但PageHelper将这个类利用起来进行了物理分页。
PageHelper的其中一种使用方式就是将RowBounds参数获取过来,进行了物理分页,而不是默认的逻辑分页。
![](https://img-blog.csdnimg.cn/2e78f25038224049bbc97047d0e20f62.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaW5pbmU=,size_20,color_FFFFFF,t_70,g_se,x_16)
具体用法:
具体的实现代码逻辑
还是PageInterceptor跟进去:skip方法
![](https://img-blog.csdnimg.cn/4c3a1b53237047c1a45a8c95df4852f6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaW5pbmU=,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/1d5d9ea0887a4e66bc385e238691d840.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaW5pbmU=,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/d0ec404c3e014ad0bbb969daf229f861.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaW5pbmU=,size_20,color_FFFFFF,t_70,g_se,x_16)
可以看到最后拼装成page返回,然后走pagehelper的常规物理分页流程。
Mybatis3.3.x技术内幕(十三):Mybatis之RowBounds分页原理 - 祖大俊的个人页面 - OSCHINA - 中文开源技术交流社区