在spring-boot中使用pageHelper插件
时间:2022-07-23
本文章向大家介绍在spring-boot中使用pageHelper插件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在spring-boot中使用pageHelper插件
添加依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
注意:如果是mvc项目则是下面这个依赖
<!-- pagehelper分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.2.0</version>
</dependency>
如果在spring-boot项目中引入spring-mvc项目则会引发错误
分页方法
@RequestMapping("/findAll")
//@RequestParam(required = true,defaultValue = "1") 如果前台页面没有传入page的值,那么采用默认值1
public String findAll(@RequestParam(required = true,defaultValue = "1") Integer page, Model model){
//开始分页
PageHelper.startPage(page,10);
List<Car> carList = autoService.findAll();
PageInfo<Car> pageInfo = new PageInfo<>(carList);
model.addAttribute("list",carList);
//将分页信息存入model对象,以便前台对象使用
model.addAttribute("page",pageInfo);
return "list";
}
前台页面
<p>第${page.pageNum}页</p>
<p>共${page.pages}页</p>
<div><a href="findAll?page=${page.pages-(page.pages-1)}" class="layui-btn">首页</a></div>
<div><a href="findAll?page=${page.prePage}" class="layui-btn">上一页</a></div>
<div><a href="findAll?page=${page.nextPage}" class="layui-btn">下一页</a></div>
<div><a href="findAll?page=${page.pages}" class="layui-btn">尾页</a></div>
常用的PageInfo对象方法
pages:总页数
pageNum:当前页
prePage:上一页
nextPage:下一页
firstPage:第一页
lastPage:最后一页
但是需要注意的是firstPage是获取到导航条上的第一页,lastPage是获取到导航条上的最后一页,并不是真正的最后一页
通过观察源码:
@Deprecated
// firstPage就是1, 此函数获取的是导航条上的第一页, 容易产生歧义
public int getFirstPage() {
return navigateFirstPage;
}
@Deprecated
// 请用getPages()来获取最后一页, 此函数获取的是导航条上的最后一页, 容易产生歧义.
public int getLastPage() {
return navigateLastPage;
}
解决办法:
通过前台代码观察可以得出点击最后一页的按钮是吧page=“最后一页的值”,传递给后台,后台再去查询
所以最后一页也可以写成pages
第一页楠就是page=1,可以直接赋值给他,也可以这样写page.pages-(page.pages-1) 总页数减去总页数减一的差
分页原理
分页原理在
有介绍 具体可以查看这篇文章
分页原理类似spring的aop 拦截到sql语句进行增强
例如 sql:select * from tableName
增强后:sql : select * from tableName limit ?,?
- WordPress登陆文件wp-login.php添加相关参数,安全有保障
- WordPress在RSS Feed 中输出自定义特色图像(缩略图)
- 单拼域名can.com以高达99.2万元成交!
- CI学习 CCNET Config 第一天
- IBatisNet基础组件
- 学习altas笔记[客户端JS和Altas环境初始化关系和DataTable返回数据的客户端处理]
- 在Windows 8 Hyper-V下的安装CentOS 6和SSH配置
- WordPress RSS Feed 优化/设置技巧六则
- SourceTree 基本介绍
- 学习Altas 笔记[JS简单调用服务端方法]
- 使用WinSCP软件在windows和Linux中进行文件传输
- 线程安全的Generic Dictionary
- Python 项目实践三(Web应用程序)第五篇
- CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 使用Python实现基本初等函数可视化
- 递归回溯--复原IP地址
- 通过 generic-webhook-trigger 插件实时获取 Bitbucket Repository Events
- 初识TypeScript:查找指定路径下的文件按类型生成json
- Xamarin Forms WPF 干掉默认的窗口导航条
- WPF 从零手动创建承载 Xamarin Forms 项目
- 帝都房价回调?带你用Python了解北京二手房市场现状
- Zabbix 利用 ncat 监控远端端口状态
- MySQL“被动”性能优化汇总!
- H3C WA2610i-GN 无线AP FAT 配置案例
- java强引用、软引用、弱引用、虚引用以及FinalReference
- 读源码——JDK动态代理
- 图解红黑树
- 算法——递归
- LeetCode 94 | 基础题,如何不用递归中序遍历二叉树?