关于mybatis分页插件pageHelper的使用问题(无法分页、配置错误等)

本文介绍了在使用mybatis分页插件PageHelper时可能遇到的问题,包括分页原理、如何正确使用PageHelper进行分页以及PageHelper的配置注意事项。文章提醒开发者,PageHelper依赖ThreadLocal实现分页,且分页效果只在startPage方法后的第一个查询生效。同时,文章对比了PageHelper老版本和新版本的配置差异,以帮助解决配置错误导致的无法分页问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.前言

在使用mybatis开发的过程中,经常会遇到分页的问题,而这个时候,pageHelper的出现省去了很多我们分页中遇到的麻烦。不过遇到一个新东西,我们在使用中经常会遇到很多问题,我在这里总结一下。

1.分页

PageHelper是一个物理分页插件,它使用ThreadLocal获取到同一线程中的变量信息,各个线程之间的Threadlocal不会相互干扰,所以在多线程环境下,各个Threadlocal之间相互隔离,可以实现不同thread使用不同的数据源或不同的Thread中执行不同的SQL语句。所以PageHelper利用这一点,通过拦截器获取到同一线程中的预编译好的SQL语句之后将SQL语句包装成具有分页功能的SQL语句,并将其再次赋值给下一步操作,所以实际执行的SQL语句就是有了分页功能的SQL语句(来源:https://blog.csdn.net/jaryle/article/details/52315565)。

如何使用pageHelper进行分页呢,贴出一段模版代码:

        //pege:当前页码,从1开始(注意和limit的区别)
        //rows:每页显示个数    
        if(page == null || page <= 0) page = 1;
        if(rows == null || rows <= 0) rows = 30;
        //开始分页
        PageHelper.startPage(pag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值