java后端pageHelper分页实现方法
短信预约 -IT技能 免费直播动态提醒
背景
当一次查库数据量较大,不光给数据库带来压力,同时前端渲染页面压力也很大,所以尝试做真分页来减小压力。
方法一:mysql的limit进行分页
SELECT * FROM `t_item_type` limit page,pageSize
可以看见这是从第一页开始查,查5条数据。
方法二:使用插件Mybatis-PageHelper(拦截器原理)
1、本质
将原来需要人手动写的 sql中 limit page,pageSize变成直接传入参数。
2.实现步骤
引入依赖
spring
com.github.pagehelper pagehelper 5.1.2
springBoot
com.github.pagehelper pagehelper-spring-boot-starter 1.2.10
修改application.yml
pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
参数说明:
修改代码
PageHelper.startPage(1,5);这句话放置的位置是一整条sql查询结果上边,因为插件的原理是在sql上拼接 limit 传进去两个参数 ,比如当前service中逻辑还包含两条sql,此分页将不起作用。
//这一句一定要放在查出所有数据的上边,第一个数表示pageNum,第二个数表示pageSize PageHelper.startPage(1,5); //这里表示要获取所有的信息 ListitemAllInfos = itemTypeService.selectAllItemByType(itemType); //转换成分页的形式,这里做改动后返回值于原来相比格式发生变化,要及时调整前端接收数据的格式。 PageInfo pageInfo = new PageInfo(itemAllInfos);
总结
工欲善其事,必先利其器。这里做完改动以后还是要多多注意前端格式转换。
来源地址:https://blog.csdn.net/weixin_45706856/article/details/127813273
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341