导入依赖

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>

application.yml配置

pagehelper:
# dialect: ①
# 分页插件会自动检测当前的数据库链接,自动选择合适的分页方式(可以不设置)
helper-dialect: mysql
# 上面数据库设置后,下面的设置为true不会改变上面的结果(默认为true)
auto-dialect: true
page-size-zero: false # ②
reasonable: true # ③
# 默认值为 false,该参数对使用 RowBounds 作为分页参数时有效。(一般用不着)
offset-as-page-num: false
# 默认值为 false,RowBounds是否进行count查询(一般用不着)
row-bounds-with-count: false
#params: ④
#support-methods-arguments: 和params配合使用,具体可以看下面的讲解
# 默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页
auto-runtime-dialect: false # ⑤
# 与auto-runtime-dialect配合使用
close-conn: true
# 用于控制默认不带 count 查询的方法中,是否执行 count 查询,这里设置为true后,total会为-1
default-count: false
#dialect-alias: ⑥

在serviceImpl中使用

@Override
public PageInfo queryFollowmeBasicInfo(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize, true);
List<Map<String, Object>> mapList = followMeMapper.queryFollowmeBasicInfo();
mapList.forEach(map -> {
String equity = map.get("equityData").toString();
JSONArray array = JSON.parseArray(equity);
List<Map> list = JSON.parseArray(array.toJSONString(), Map.class);
List<Map<String, Object>> listE = MapConvert.listMapConvert(list);
map.put("equityData", listE);
String deposit = map.get("depositWithdraw").toString();
JSONArray array1 = JSON.parseArray(deposit);
List<Map> list1 = JSON.parseArray(array1.toJSONString(), Map.class);
List<Map<String, Object>> listD = MapConvert.listMapConvert(list1);
map.put("depositWithdraw", listD);
});
PageInfo pageInfo = new PageInfo(mapList);
return pageInfo;
}

详解

首先使用:PageHelper.startPage(pageNum, pageSize, true);

一定要带true,此时会有总条数,总页数等信息

pageInfo信息

{
"pageInfo": {
//总条数
"total": 3,
//返回的数据
"list": [{
"id": 1,
"versionCode": 1,
"versionName": "1",
"versionMsg": "1",
"apkName": "1",
"downUrl": "1",
"createDate": "2019-03-19T01:19:12.000+0000",
"ifWork": 1,
"ifDelete": 0,
"ifForce": 0,
"memo": "111",
"phoneType": 1
}, {
"id": 2,
"versionCode": 2,
"versionName": "2",
"versionMsg": "2",
"apkName": "2",
"downUrl": "2",
"createDate": "2019-03-19T01:19:50.000+0000",
"ifWork": 1,
"ifDelete": 0,
"ifForce": 0,
"memo": "222",
"phoneType": 2
}],
//页码
"pageNum": 1,
//每页数量
"pageSize": 2,
"size": 2,
"startRow": 1,
"endRow": 2,
//总页数
"pages": 2,
"prePage": 0,
"nextPage": 2,
//是否第一页
"isFirstPage": true,
//是否最后一页
"isLastPage": false,
//前面是否还有页
"hasPreviousPage": false,
//是否还有下一页
"hasNextPage": true,
"navigatePages": 8,
"navigatepageNums": [1, 2],
"navigateFirstPage": 1,
"navigateLastPage": 2
}
}

参考

https://pagehelper.github.io/docs/howtouse/ (官方文档)

https://blog.csdn.net/shuaigg001/article/details/94385572 (主参考)

https://blog.csdn.net/J080624/article/details/88743766 (分析)

boot集成mybatis分页插件pagehelper的更多相关文章

  1. spring boot集成mybatis分页插件

    mybatis的分页插件能省事,本章记录的是 spring boot整合mybatis分页插件. 1.引入依赖 <!-- 分页插件pagehelper --> <dependency ...

  2. Spring Boot实践——Mybatis分页插件PageHelper的使用

    出自:https://blog.csdn.net/csdn_huzeliang/article/details/79350425 在springboot中使用PageHelper插件有两种较为相似的方 ...

  3. ssm工程集成mybatis分页插件pagehelper

    1    首先需要在mybatis的配置文件SqlMapConfig.xml文件中配置pagehelper插件 <plugins> <plugin interceptor=" ...

  4. spring boot集成mybatis(2) - 使用pagehelper实现分页

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  5. Mybatis分页插件PageHelper的配置和使用方法

     Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...

  6. Mybatis分页插件PageHelper使用

    一. Mybatis分页插件PageHelper使用  1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...

  7. Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper

    引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...

  8. Mybatis学习---Mybatis分页插件 - PageHelper

    1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...

  9. Mybatis分页插件PageHelper的实现

    Mybatis分页插件PageHelper的实现 前言 分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为 ...

随机推荐

  1. (matlab)自定义图像(matlab)

    clc;clear all;A=[0 230 255 60 30 100];A=uint8(A);imshow(A,'InitialMagnification','fit') 如图: clc;clea ...

  2. 路飞-后台Django项目创建

    后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...

  3. 矩阵快速幂+概率DP poj 3744

    题意:在一条不满地雷的路上,你现在的起点在1处.在N个点处布有地雷,1<=N<=10.地雷点的坐标范围:[1,100000000]. 每次前进p的概率前进一步,1-p的概率前进1-p步.问 ...

  4. js实现Set

    class MySet { constructor(params) { if (typeof params[Symbol.iterator] !== 'function') { throw new T ...

  5. 远程操作Linux主机

    通过putty文件访问: 下载路径:https://the.earth.li/~sgtatham/putty/0.70/w32/putty-0.70-installer.msi 通过Python文件执 ...

  6. HttpServer带阻塞性能比较

    服务端在返回hello,world! 之前先阻塞一秒钟,模拟访问DB等耗时操作. Netty 我直接在 WorkerGroup 里头sleep,用同步阻塞线程模型的方式来编程,所以性能暴降. Joob ...

  7. js location.href 的用法

    self.location.href="/url" 当前页面打开URL页面: this.location.href="/url" 当前页面打开URL页面: pa ...

  8. windows安装jenkins及ant/maven/jdk配置

    一.jenkins安装 下载地址:https://jenkins.io/download/,下载下来为一个war文件 (1)第一种启动方式,电脑一启动,jenkins会自动运行 命运行运行 java  ...

  9. ViewModel、LiveData、DataBinding

    ViewModel ViewModel的引入 如果系统销毁或重新创建界面控制器,则存储在其中的任何临时性界面相关数据都会丢失.例如,应用的某个 Activity 中可能包含用户列表.因配置更改而重新创 ...

  10. wordpress 不用插件添加友情链接

    哎,也不知道为啥,网上说的那个link manager这个插件死活找不到啊, 找了一个类似的,但是不是,这么多的英文看了好几遍才发现不是 然后从大神哪里找到一个好方法 在你用的那个主题的functio ...