java后端pageHelper分页实现方法
背景
当一次查库数据量较大,不光给数据库带来压力,同时前端渲染页面压力也很大,所以尝试做真分页来减小压力。
方法一:mysql的limit进行分页
SELECT * FROM `t_item_type` limit page,pageSize
可以看见这是从第一页开始查,查5条数据。
方法二:使用插件Mybatis-PageHelper(拦截器原理)
1、本质
将原来需要人手动写的 sql中 limit page,pageSize变成直接传入参数。
2.实现步骤
引入依赖
spring
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
springBoot
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
修改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);
//这里表示要获取所有的信息
List<ItemAllInfo>itemAllInfos = itemTypeService.selectAllItemByType(itemType);
//转换成分页的形式,这里做改动后返回值于原来相比格式发生变化,要及时调整前端接收数据的格式。
PageInfo pageInfo = new PageInfo(itemAllInfos);
总结
工欲善其事,必先利其器。这里做完改动以后还是要多多注意前端格式转换。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgggjek
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13