• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

java后端pageHelper分页实现方法

武飞扬头像
Circ.
帮助1


背景

当一次查库数据量较大,不光给数据库带来压力,同时前端渲染页面压力也很大,所以尝试做真分页来减小压力。


方法一: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
系列文章
更多 icon
同类精品
更多 icon
继续加载