boot集成mybatis分页插件pagehelper
导入依赖
<!-- 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的更多相关文章
- spring boot集成mybatis分页插件
mybatis的分页插件能省事,本章记录的是 spring boot整合mybatis分页插件. 1.引入依赖 <!-- 分页插件pagehelper --> <dependency ...
- Spring Boot实践——Mybatis分页插件PageHelper的使用
出自:https://blog.csdn.net/csdn_huzeliang/article/details/79350425 在springboot中使用PageHelper插件有两种较为相似的方 ...
- ssm工程集成mybatis分页插件pagehelper
1 首先需要在mybatis的配置文件SqlMapConfig.xml文件中配置pagehelper插件 <plugins> <plugin interceptor=" ...
- spring boot集成mybatis(2) - 使用pagehelper实现分页
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- Mybatis分页插件PageHelper使用
一. Mybatis分页插件PageHelper使用 1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...
- Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper
引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...
- Mybatis学习---Mybatis分页插件 - PageHelper
1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...
- Mybatis分页插件PageHelper的实现
Mybatis分页插件PageHelper的实现 前言 分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为 ...
随机推荐
- Java compareTo的用法
compareTo() 方法用于将 Number 对象与方法的参数进行比较.可用于比较 Byte, Long, Integer等. 该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比 ...
- DataGridView单元格显示密码
DataGridView单元格显示密码 private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormatt ...
- DataGridView编辑后立即更新到数据库的两种方法
DataGridView控件是微软预先写好的一个显示数据的控件,功能非常强大,可以显示来自数据库表的数据和XML等其他来源的数据. 方法一:基于DataAdapter对象创建一个CommandBuli ...
- element-ui里el-form的lable颜色怎么修改?
就是把style改写成全局的,不要scoped(注意class,id的唯一,不要影响了整体布局) 链接:https://segmentfault.com/q/1010000017251094
- redis集群(Sentinel)
问题 Redis 主哨兵模式是如何保证高可用的 主要依赖主哨兵的发现故障和故障转移 概述 本文假设读者对redis 的主从复制已经进行了了解 . Redis 主哨兵集群为Redis 提供了高可用,即高 ...
- Linux - Shell - 字符串拼接
概述 shell 的字符串拼接 1. 字符串声明 概述 字符串的基本操作 脚本 1 # 声明字符串 str01="str01" echo ${str01} # 单引号也可以 # 不 ...
- 转载:AAC文件解析及解码
转自:http://blog.csdn.net/wlsfling/article/details/5876016 http://www.cnblogs.com/gaozehua/archive/201 ...
- java 反射获取设置私有成员变量的值
for (Object arg:args) { //处理applicationCode Class<?> argClass = arg.getClass(); Field applicat ...
- aria2连接网站出现handshake failure问题的分析与解决方法
aria2是一款轻量级的,支持多协议,跨平台的命令行下载工具,是笔者目前在使用的下载工具,结合uget使用基本上能媲美window下的迅雷工具.在笔者使用过程中,遇到了aria2连接部分网站时出现ha ...
- "exit"未定义标签 问题
找了两个多小时,最后才发现是版本问题.因为是网上下的代码,可能用的版本比较高,而我自己的是2.4.10版本的opencv,所以正确的代码应该是如下: CV_Error(CV_StsBadArg,&qu ...