
pageHelper分页技术
如果有收获!!! 希望老铁们来个三连,点赞、收藏、转发 创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客
发布日期:2025-05-01 13:34:17
浏览次数:1
分类:技术文章
本文共 2845 字,大约阅读时间需要 9 分钟。
十二,pageHelper分页技术
1.分页简介
PageHelper 是 MyBatis 中非常方便的第三方分页插件。
2) 官方文档:文档说明:
2.涉及的名词解释
//当前页private int pageNum;//每页的数量private int pageSize;//当前页的数量private int size;//由于startRow和endRow不常用,这里说个具体的用法//可以在页面中"显示startRow到endRow 共size条数据"//当前页面第一个元素在数据库中的行号private int startRow;//当前页面最后一个元素在数据库中的行号private int endRow;//总记录数private long total;//总页数private int pages;//结果集private Listlist;//前一页private int prePage;//下一页private int nextPage;//是否为第一页private boolean isFirstPage = false;//是否为最后一页private boolean isLastPage = false;//是否有前一页private boolean hasPreviousPage = false;//是否有下一页private boolean hasNextPage = false;//导航页码数private int navigatePages;//所有导航页号private int[] navigatepageNums;//导航条上的第一页private int navigateFirstPage;//导航条上的最后一页private int navigateLastPage;
3.使用步骤
1)导入依赖
2)配置分页插件;如果是myBatis使用则在全局配置文件中配置分页插件。如果是ssm整合使用则在spring-mvc中配置分页插件。
3)使用 PageHelper 提供的方法进行分页。
4)可以使用更强大的 PageInfo 封装返回结果。
4.具体使用
案例需求:订单分页查询
1.在父工程pom文件导入依赖
com.github.pagehelper pagehelper 5.1.2
2.配置分页插件
1)mybatis全局配置文件
2)spring-mvc配置文件
params=value1
3.控制层代码
/** * 导入jackson包。 * 实现查询员工数据 * @param pn * @return */@RequestMapping("/emps")@ResponseBodypublic Msg getEmpsWithJson( @RequestParam(value = "pn", defaultValue = "1") Integer pn) { // 这不是一个分页查询 // 引入PageHelper分页插件 // 在查询之前只需要调用,传入页码,以及每页的大小 PageHelper.startPage(pn, 5); // startPage后面紧跟的这个查询就是一个分页查询 Listemps = employeeService.getAll(); // 使用pageInfo包装查询后的结果,只需要将pageInfo交给页面就行了。 // 封装了详细的分页信息,包括有我们查询出来的数据,传入连续显示的页数 PageInfo page = new PageInfo(emps, 5); return Msg.success().add("pageInfo", page);}/** * 查询员工数据(分页查询) * @return *///@RequestMapping("/emps")public String getEmps(@RequestParam(value = "pn",defaultValue = "1") Integer pn, Model model){ // 这不是一个分页查询; // 引入PageHelper分页插件 // 在查询之前只需要调用,传入页码,以及每页的大小 PageHelper.startPage(pn,5); // startPage后面紧跟的这个查询就是一个分页查询 List emps = employeeService.getAll(); // 使用pageInfo包装查询后的结果,只需要将pageInfo交给页面就行了。 // 封装了详细的分页信息,包括有我们查询出来的数据,传入连续显示的页数 PageInfo page = new PageInfo(emps,5); model.addAttribute("pageInfo",page); return "list";}
4.页面展示
当前 【${pageInfo.pageNum }】 页,总 【${pageInfo.pages }】 页,总 【${pageInfo.total }】 条记录
Mybatis后续的学习:
mybatis 概述 | 配置文件详解: mybatis 事务 | 动态SQL | 多表查询: mybatis延迟加载 | 缓存机制详解: mybatis 注解开发版: mybatis 逆向工程的使用:如果有收获!!! 希望老铁们来个三连,点赞、收藏、转发 创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月09日 14时42分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Pandas循环提速 7 万多倍是怎么实现的?
2023-02-26
pandas打乱数据的顺序
2023-02-26
pandas指定列数据归一化
2023-02-26
pandas改变一列值(通过apply)
2023-02-26
Pandas:将一列与数据帧的所有其他列进行比较
2023-02-26
panda查找想要找的行合并成一个新pd
2025-05-01
PANDA:基于多列对数据表的行运行计算,并将输出存储在新列中
2025-05-01
PandoraFMS 监控软件 SQL注入漏洞复现
2025-05-01
PandoraFMS 监控软件 任意文件上传漏洞复现
2025-05-01
PanTools多网盘登录神器
2025-05-01
Papyrus项目常见问题解决方案
2025-05-01
Parallel.ForEach使用示例
2025-05-01
Parallel.ForEach的基础使用
2025-05-01
parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
2025-05-01
parallelStream导致LinkedList遍历时空指针的问题
2025-05-01
Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
2025-05-01
ParameterizedThreadStart task
2025-05-01
Paramiko exec_命令的实时输出
2025-05-01
paramiko使用1
2025-05-01