PageHelper 是一款好用的开源免费的 Mybatis 第三方物理分页插件,

支持多

种数据库:Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等

1、在pom.xml中引入依赖

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version>
</dependency>

2、在application.properties配置pagehelper的属性

#pagehelper分页插件配置
pagehelper.helperDialect=mysql
#为true时,当前页大于总页数时,会返回最后一页,为false时,有数据就返回,没数据则为空
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

3、service接口层

package com.example.demo.service;import com.example.demo.es.Article;
import com.github.pagehelper.PageInfo;public interface IArticleService {PageInfo<Article> getAllArticle(Integer page, Integer pageSize);
}

4、service实现层

package com.example.demo.service.impl;import com.example.demo.es.Article;
import com.example.demo.mapper.ArticleMapper;
import com.example.demo.service.IArticleService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.List;@Data
@Slf4j
@Component
public class ArticleService implements IArticleService {@AutowiredArticleMapper articleMapper;public PageInfo<Article> getAllArticle(Integer page, Integer pageSize) {PageInfo<Article> pageInfo = null;try{PageHelper.startPage(page,pageSize);List<Article> articleList = articleMapper.getAllArticle();pageInfo = new PageInfo<Article>(articleList);}catch(Exception e){e.printStackTrace();}return pageInfo;}}

其他的多不说,自行发挥,重点就是这几个。

结果:

{"pageNum":1,"pageSize":100,"size":10,"startRow":1,"endRow":10,"total":10,"pages":1,"list":[{"titleId":1,"title":"平凡的世界","author":"路遥","content":"一个穷困的农村青年,然而他又是有知识的农村青年。务实,勇于听从精神的召唤。无论是吃着高粱面馍、喝着剩菜汤的高中生活,还是下地务农的农民生活,甚至走出土地后的打工生活,孙少平身上都昂扬着精神的高傲、挥洒着灵魂的矜持。物质的匮乏和精神的充盈让孙少平的生活始终五味杂陈。而生活考验的不断加剧和知识视野的不断拓展,也造就了孙少平保尔般的工作热情和圣徒般的道德修养。面对歧视他忍辱负重,看到不平他拔刀相助,关键时刻不计前嫌等等,自身的物质穷困根本没有成为他道德修养的束缚,反倒映衬出他人格的完善。而他的爱情选择也显示了他的个性特征。面对高干子女、大学生田晓霞,他没有逃避,也没有感到自卑,他的精神高度足以和她站在一起。而最终他拒绝金秀的爱情回到惠英的身边,同样是他圣徒精神的延伸,强大的责任意识和担当感促成了他的选择。","publishDate":"1986-12-01"},{"titleId":2,"title":"论语","author":"孔子","content":"《论语》是儒家的经典之作,是一部以记言为主的语录体散文集。早在春秋后期孔子设坛讲学时期,其主体内容就已初始创成;孔子去世以后,他的弟子和再传弟子代代传授他的言论,并逐渐将这些口头记诵的语录言行记录下来,因此称为“论”;《论语》主要记载孔子及其弟子的言行,因此称为“语”。清朝赵翼解释说:“语者,圣人之语言,论者,诸儒之讨论也。”其实,“论”又有纂的意思,所谓《论语》,是指将孔子及其弟子的言行记载下来编纂成书。现存《论语》20篇,492章,其中记录孔子与弟子及时人谈论之语约444章,记孔门弟子相互谈论之语48章。","publishDate":"2018-09-27"},{"titleId":3,"title":"围城","author":"钱钟书","content":"《围城》包含着深厚的思想意蕴。一是社会批判层面。作品通过主人公方鸿渐的人生历程,对20世纪三、四十年代国统区的国政时弊和众生相进行了抨击,包括对上海洋化商埠的腐败堕落、对内地农村的落后闭塞,对教育界、知识界的腐败现象的讥讽。二是文化批判的层面。这一点,主要是通过对“新儒林”的描写和对一批归国留学生或高级知识分子形象的塑造来实现的。《围城》中的人物,大多患有崇洋症,但骨子里还是传统文化起主导作用。方鸿渐是“新儒林”中尚有正义感的人物,他的出国留洋,目的是“光耀门楣”,好比前清时代花钱捐个官。他的懦弱的性格,悲剧的结局,正是传统文化所致。李梅亭、韩学愈、高松年等人的庸俗、卑琐、无聊、虚荣、争斗等劣根性,也是传统文化影响的产物。封建遗老方遯翁不用说了,就是于柔顺之下深藏心机的孙柔嘉,在她的身上仍然可以看到旧式女性的面孔。作品通过这些人物病态性格的剖析,对中国传统文化进行了深刻的反思和批判。第三个层面则是对人生、对现代人命运的哲理思考,深入到人本的形而上的层次,诸如对人的基本生存处境和人生的根本意义的探讨,对人的基本根性和人际间的基本关系的探讨。钱钟书夫人杨绛在电视连续剧《围城》片头上写道:“《围城》的主要内涵是围在城里的人想逃出来,城外的人想冲进去。对婚姻也罢,职业也罢,人生的愿望大都如此。”小说中也多次点明了”围城“的含义。它告诉人们,人生处处是“围城”,结而离,离而结,没有了局,存在着永恒的困惑和困境。作家在围城中所提出的问题,涉及到整个现代文明的危机和现代人生的困境这个带有普遍意义的问题。","publishDate":"1947-12-01"},{"titleId":4,"title":"年轮","author":"梁晓声","content":"《年轮》讲述的是一群刚刚步入青年期的年轻人在那个特殊的时代,响应国家的号召上山下乡,那时他们情感纯洁,没有杂念,应直到文革结束时期,他们为了各自的梦想先后以不同的方式回城,没有联系,十年之后他们重逢却有着各自的命运,以前的梦想离现实远去,他们也面临着社会对他们的选择。有责备,有后悔,有不舍,有无奈。……有一个十年过去,他们已人到中年,很多事情都能够释怀了。才发现其实他们彼此从未放弃过对方。","publishDate":"1994-01-01"},{"titleId":5,"title":"穆斯林的葬礼","author":"霍达","content":"古都京华老字号玉器行“奇珍斋”的梁亦清,原是回族底层的琢玉艺人,他家有两个女儿,长女君璧和次女冰玉。本书主人公韩子奇因摔碎了梁亦清做的碗而决定留下当学徒。师徒两人正为一件订货劳作,这是专做洋人买卖的“汇远斋”定做的“郑和航海船”。郑和是回族的英雄,他们决心做好这件光耀民族精神的作品,三年的精雕细刻将在中秋佳节完成。不料梁亦清突然晕倒在转动着的玉坨上,宝船被毁,人也丧命。为了抵债,梁家将奇珍斋转给落井下石的汇远斋老板,韩子奇则为了报仇潜伏到“汇远斋”当了学徒。","publishDate":"1988-12-01"},{"titleId":6,"title":"追风筝的人","author":"卡勒德·胡赛尼","content":"《追风筝的人》清新自然,以新写实的笔法,诉说着温情与残酷,美丽与苦难,它不仅仅展示了一个人的心灵成长史,也展示了一个民族的灵魂史,一个国家的苦难史。这部小说流畅自然,就像一条清澈的河流,却奔腾着人性的激情,蕴含着阿富汗斯坦这个古老国家丰富的灵魂,激荡着善与恶的潜流撞击。因为这部书,让世界了解了一个遭受战火蹂躏的、默默无闻的阿富汗斯坦人,这才是文学的魅力,也是这部小说的艺术魅力。但是这部小说不仅如此,它之所以能够吸引不同民族、国家的读者,撼动读者内心纤细的情感,是因为它讨论了关于人性和人性的拯救问题,这是现代人类面临的共同话题。其实,人性的救赎是这部小说的核心价值。","publishDate":"2003-12-01"},{"titleId":7,"title":"复活","author":"列夫·托尔斯泰","content":"《复活》是托尔斯泰最后一部长篇小说,是作家一生探索和思想的总结,被誉为俄国批判现实主义发展的高峰。小说通过玛丝洛娃的苦难遭遇和聂赫留朵夫的上诉经过,广泛而深刻地抨击了法庭、监狱、官僚机关的腐败、黑暗,揭露了封建统治阶级骄奢淫逸的生活和反动官吏的残暴昏庸、毫无人性,撕下了官办教会的伪善面纱,反映了农村的破产和农民的极端贫困,勾画了一幅已经走到崩溃边缘的农奴制俄国的社会图画","publishDate":"1899-12-01"},{"titleId":8,"title":"钢铁是怎样炼成的","author":"奥斯特洛夫斯基","content":"《钢铁是怎样炼成的》这部史诗般的英雄传记小说塑造了保尔·柯察金执著于信念而坚韧不拔的崇高人格,其形象超越时空,超越国界,产生了世界性的影响,震动着数代人的心弦。仅在前苏联,这部作品就以61种文字印了600多次,总数达3000多万册。","publishDate":"2011-12-01"},{"titleId":9,"title":"时间简史","author":"斯蒂芬·威廉·霍金","content":"在这部书中,霍金带领读者遨游外层空间奇异领域,对遥远星系、黑洞、夸克、“带味”粒子和“自旋”粒子、反物质、“时间箭头”等进行了深入浅出的介绍,并对宇宙是什么样的、空间和时间以及相对论等古老问题做了阐述,使读者初步了解狭义相对论以及时间、宇宙的起源等宇宙学的奥妙。 《时间简史》的主要内容可概括为以下几个方面: 1.时间起始点——宇宙大爆炸奇点。宇宙是不断膨胀着的,它在最初应该收缩为一点,这一时刻被称为宇宙大爆炸时刻。宇宙在这一点的密度无穷大,这一点即为数学上所称的奇点。 2.时间终结——黑洞。恒星由于引力作用会不断收缩,会形成一个“黑洞”。黑洞表面引力很强,时间会在此终止。 3.上帝是如何启动宇宙的?——宇宙的起源和命运。一种是以人择原理来解释的叫做紊乱边界条件的宇宙起源;另一种解释称为“暴涨模型”,它认为宇宙在开始的一瞬间是以加速度膨胀,在远小于1秒的时间里宇宙的半径增大了100万亿亿亿倍。 4.物理学的统一——终极理论。人类在寻求建立一个适用于宇宙中每一事件的、完整的、协调的统一理论,在这理论中不需要选取特定的常数去符合事实。","publishDate":"1988-12-01"},{"titleId":10,"title":"百年孤独","author":"加西亚·马尔克斯","content":"作品描写了布恩迪亚家族七代人的传奇故事,以及加勒比海沿岸小镇马孔多的百年兴衰,反映了拉丁美洲一个世纪以来风云变幻的历史。作品融入神话传说、民间故事、宗教典故等神秘因素,巧妙地糅合了现实与虚幻,展现出一个瑰丽的想象世界,成为20世纪重要的经典文学巨著之一。 作品描写了布恩迪亚家族七代人的传奇故事,以及加勒比海沿岸小镇马孔多的百年兴衰,反映了拉丁美洲一个世纪以来风云变幻的历史。作品融入神话传说、民间故事、宗教典故等神秘因素,巧妙地糅合了现实与虚幻,展现出一个瑰丽的想象世界,成为20世纪重要的经典文学巨著之一。 作品描写了布恩迪亚家族七代人的传奇故事,以及加勒比海沿岸小镇马孔多的百年兴衰,反映了拉丁美洲一个世纪以来风云变幻的历史。作品融入神话传说、民间故事、宗教典故等神秘因素,巧妙地糅合了现实与虚幻,展现出一个瑰丽的想象世界,成为20世纪重要的经典文学巨著之一。 作品描写了布恩迪亚家族七代人的传奇故事,以及加勒比海沿岸小镇马孔多的百年兴衰,反映了拉丁美洲一个世纪以来风云变幻的历史。作品融入神话传说、民间故事、宗教典故等神秘因素,巧妙地糅合了现实与虚幻,展现出一个瑰丽的想象世界,成为20世纪重要的经典文学巨著之一。 ","publishDate":"1967-12-04"}],"prePage":0,"nextPage":0,"isFirstPage":true,"isLastPage":true,"hasPreviousPage":false,"hasNextPage":false,"navigatePages":8,"navigatepageNums":[1],"navigateFirstPage":1,"navigateLastPage":1,"firstPage":1,"lastPage":1
}

PageHelper中默认的PageInfo属性介绍:

//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List list;
//第一页
private int firstPage;
//前一页
private int prePage;
//是否为第一页
private boolean isFirstPage;
//是否为最后一页
private boolean isLastPage;
//是否有前一页
private boolean hasPreviousPage;
//是否有下一页
private boolean hasNextPage;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;

【Springboot+PageHelper】Springboot 添加PageHelper 分页相关推荐

  1. SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 虚无境的博客 来源 | http://8rr. ...

  2. SpringBoot Mybatis解决使用PageHelper一对多分页问题

    SpringBoot Mybatis解决使用PageHelper一对多分页问题 参考文章: (1)SpringBoot Mybatis解决使用PageHelper一对多分页问题 (2)https:// ...

  3. springboot 、thymeleaf、pagehelper 、springsecurity实现 登录,用户认证,分页的前端使用妹子UI

    springboot  .thymeleaf.pagehelper .springsecurity 实现 登录,用户认证,分页的前端使用妹子UIhttp://tpl.amazeui.org/. 项目下 ...

  4. SpringBoot、mysql配置PageHelper插件

    一:https://blog.csdn.net/h985161183/article/details/79800737 主要异常:org.springframework.beans.factory.B ...

  5. springboot+vue+thymeleaf+mybatis+pageHelper创建项目

    一.创建sprintboot新项目 1.点击File->new->object选择Sping Initializr点击Next输入项目信息 2.在依赖选择界面选择所需要的依赖,点击next ...

  6. Vue2.0+ElementUI+PageHelper实现的表格分页

    Vue2.0+ElementUI+PageHelper实现的表格分页 前言 最近做了一些前端的项目,要对表格进行一些分页显示.表格分页的方法有很多,从宏观上来说分为物理分页和逻辑分页,由于逻辑分页(即 ...

  7. Spring boot PageHelper.startPage(pageIndex, pageSize)分页无效

    突然项目中的分页不起作用了,后台代码: 1.PageHelper.startPage(pageIndex, pageSize)要放在要分页的上面,也没错 后来一想,是springboot做了升级.然后 ...

  8. springboot + 操作日志添加

    1. 操作日志表postgresql脚本: CREATE TABLE public.sys_log (id varchar(32) NOT NULL,username varchar(20) NULL ...

  9. PageHelper类(pagehelper工具)的分页方式与使用

    文章目录 1.把查询出来的全部记录扔给PageHelper类即可就是这么简单暴力 2.maven依赖 3.pagehelper是如果实现分页的?属于物理分页还是内存分页 4.参考文档 1.把查询出来的 ...

最新文章

  1. 3D-2D:PnP算法原理
  2. OpenCV角点检测之Harris角点检测
  3. centos6查看java命令_linux 常用命令(五)——(centos7-centos6.8)JDK安装
  4. 关于pipeline
  5. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(三)
  6. 「C++」C++ Primer Plus 笔记:第二章 开始学习C++
  7. java代码中出现乱码怎么解决?
  8. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据同步...
  9. UnitOfWork实战
  10. .net 导出excel_.NET Core一行代码导入导出Excel生成Word
  11. 免费下载全球SRTM高程数据(hgt格式)
  12. rk3399 android 9.0 skype强制切换到前置摄像头
  13. 新概念英语(第一册)复习(原文及全文翻译)——Lesson 61 - Lesson 90
  14. 在达内学java出来可靠吗_【求解】在达内学习java也有内幕啊 我要曝光!
  15. 不要再拿“学历不重要”的谎言,骗正在“入海”的95后
  16. win10wifi开关自动弹回_win10wlan开关自动弹回
  17. 生产环境SLB-F5会话保持失效问题排查及总结
  18. app自动化测试之Appium问题分析及定位
  19. python蜂窝状六边形_CSS-蜂窝状展示区域(多个六边形)的一种实现方式
  20. linux最小系统 安装教程,Linux 学习笔记 1 使用最小的系统,从分区安装系统开始,...

热门文章

  1. OPENXML的用法
  2. javascript高级程序设计---模式设计
  3. 打开anaconda prompt 出错 import ctypes
  4. 【图片新闻】以色列著名军火商Rafael公司发布令人震撼的未来装甲战争假想视频
  5. 数字音频芯片--Digilent 公司PmodI2S芯片控制
  6. EasyUI之表单验证
  7. PaddlePaddle基本用法详解(二)、PaddelPaddle训练水果分类模型
  8. 重磅!马云正式宣布,国产手机操作系统要来了!
  9. 华为云服务-运维篇-弹性负载均衡
  10. 关于测试流程你知道吗