PageHelper分页

PageHelper分页

分页需要几个要素,总数,当前页,每页的容量

PageHelper和mybatis实现分页

Page<Map<String,Object>> resultPage = PageHelper.startPage('页码','每页的容量');
//执行查询操作
mapper.select('查询条件');
//可以在resultPage获取想要的分页结果信息
List<Map<String,Object>> = resultPage.getResult();
//总条数
int totalNum = resultPage.getTotal();
//.........

通过在输出日志上可以看到,PageHelper会在原有的查询SQL上自动添加上对应的分页操作,会在原有的查询SQL上执行对应的总数查询。

实现原理

PageHelper首先将前端传递的参数保存到page这个对象中,接着将page的副本存放入ThreadLoacl中,这样可以保证分页的时候,参数互不影响,接着利用了mybatis提供的拦截器,取得ThreadLocal的值,重新拼装分页SQL,完成分页。

参考文章:

实现原理:https://blog.csdn.net/qq_21996541/article/details/79796117

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值