配置一:在 【pom.xml】 文件中引入依赖

<!-- mybatis的分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>

配置二:在 【application.properties】 文件中配置 pagehelper

pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

使用示例:

package com.huang.pims.family.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.huang.pims.family.model.FamilyMember;
import com.huang.pims.family.service.FamilyMemberService;
import com.huang.pims.family.vo.FamilyMemberVO;
import org.apache.ibatis.session.RowBounds;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import java.util.List; /**
* (FamilyMember)表控制层
*
* @author huangj
* @since 2019-06-09 17:28:50
*/
@RestController
@RequestMapping("/familyMember")
public class FamilyMemberController { private static final Logger LOGGER = LoggerFactory.getLogger(FamilyMemberController.class); /**
* 服务对象
*/
@Autowired
private FamilyMemberService familyMemberService;
     // offset代表页码,limit代表每页记录数
@RequestMapping(value = "/queryListForPageHelper", method = RequestMethod.POST)
public ResponseEntity queryListForPageHelper(@RequestParam int offset, @RequestParam int limit) {
LOGGER.info("rowBounds.offset={}, rowBounds.limit={}", offset, limit);
PageHelper.startPage(offset, limit);
List<FamilyMemberVO> familyMemberVOList = familyMemberService.queryListForPage(null);
return new ResponseEntity(new PageInfo<>(familyMemberVOList), HttpStatus.OK);
} }

测试

后端控制台输出

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5c28a370] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@4ea4e9c2] will not be managed by Spring
==> Preparing: SELECT count(0) FROM base_family_member WHERE status = 1
==> Parameters:
<== Columns: count(0)
<== Row: 3
<== Total: 1
==> Preparing: select id, member_name, nick_name, status, created_by, created_at, modified_by, modified_at from base_family_member where status = 1 LIMIT ?
==> Parameters: 2(Integer)
<== Columns: id, member_name, nick_name, status, created_by, created_at, modified_by, modified_at
<== Row: 1, 黄一号, 老爸, 1, null, 2019-05-03 18:55:36, null, 2019-05-03 18:55:36
<== Row: 2, 黄二号, 老妈, 1, null, 2019-05-03 00:23:05, null, 2019-05-03 00:23:05
<== Total: 2
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5c28a370]

  从上述输出内容可以看出,在执行查询sql之前,会先查询一次记录总数。然后通过记录总数,查询记录的页码,每页的最大记录数,为查询sql添加limit限制,从而达到分页的效果。上述的请求是每页展示2条记录,其中第一页的所有记录。如果请求的页数操过了总页数,则查询的结果始终是分页后的最后一页的记录。

  PageHelper插件会将【PageHelper.startPage(offset, limit);】之后跟随的一次查询进行分页查询,后续如果还有查询,则不会再分页辅助,除非在查询之前再添加【PageHelper.startPage(offset, limit);】。

Spring Boot 集成 PageHelper的更多相关文章

  1. spring boot集成pagehelper(两种方式)

    当spring boot集成好mybatis时候需要进行分页,我们首先添加maven支持 <dependency> <groupId>com.github.pagehelper ...

  2. Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件

    上一篇文章,写了如何搭建一个简单的Spring boot项目,本篇是接着上一篇文章写得:Spring boot入门:快速搭建Spring boot项目(一),主要是spring boot集成mybat ...

  3. 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法

    spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...

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

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

  5. Spring Boot+Mybatis+Pagehelper分页

    Spring Boot 集成MyBatis和Pagehelper分页插件 mybatis-spring-boot-starter依赖树如下: pom配置 <project xmlns=" ...

  6. spring boot集成mybatis(1)

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

  7. spring boot集成mybatis(3) - mybatis generator 配置

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

  8. Spring Boot集成Jasypt安全框架

    Jasypt安全框架提供了Spring的集成,主要是实现 PlaceholderConfigurerSupport类或者其子类. 在Sring 3.1之后,则推荐使用PropertySourcesPl ...

  9. Spring boot集成swagger2

    一.Swagger2是什么? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格 ...

随机推荐

  1. ACM学习历程——HDU 5014 Number Sequence (贪心)(2014西安网赛)

    Description There is a special number sequence which has n+1 integers. For each number in sequence, ...

  2. 【LeetCode】039. Combination Sum

    题目: Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all uniq ...

  3. Jasper-Api:接口测试

    ylbtech-Jasper-Api:接口测试 1. EditTerminal返回顶部 1. /// <remarks/> [System.Web.Services.Protocols.S ...

  4. 如何解决 Matlab 画图时中文显示乱码的问题?

    使用的是win10系统,从前几个月某一天,我的matlab的figure里的中文都变成了口口.很是郁闷,还以为是动到了什么配置引起的. 前几天更新了matlab 2018b,发现还有这个问题.就觉得不 ...

  5. 实现一个排序,要求时间效率O(n)

    数据大小是在一个范围内的,可以使用常量大小的辅助空间.不得超过O(n); #include "stdafx.h" #include <iostream> #includ ...

  6. win32 API中GetSystemMetrics函数

    1. SM_ARRANGE: 用于说明系统如何安排最小化窗口,根据显示器的不同系统数据可能有所不同.其包含一个起始位置和方向.关于在程序中怎么使用我还没有见个这样的代码. 起始位置可为下列值之一: A ...

  7. 51Nod - 1640 天气晴朗的魔法 大+小生成树(最大值最小)/二分

    天气晴朗的魔法 这样阴沉的天气持续下去,我们不免担心起他的健康.   51nod魔法学校近日开展了主题为“天气晴朗”的魔法交流活动.   N名魔法师按阵法站好,之后选取N - 1条魔法链将所有魔法师的 ...

  8. cassandra的命令

    cassandra的命令: connect <hostname>/<port> (<username> '<password>')?;    Conne ...

  9. MVC实用笔记

    ---------------------------- 渲染一个Action:@{Html.RenderAction("Rulelist", "AjaxReuqestD ...

  10. Java基础--常用API--日期相关API

    一.java.util.Date 1.只用于显示系统时间,其大部分操作由Calendar代替. 格林威治时间(GMT):指的是1970年1月1日0时,不同地区有时间差. 默认输出格式:星期.月.日.时 ...