分页插件
添加分页功能
1、添加依赖
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.0</version>
</dependency>
2、配置分页插件
(1)在 MyBatis 核心配置文件(mybatis-config.xml)中配置插件
<plugins>
<!--设置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
使用分页
1、在查询功能之前,开启分页功能
2、使用 PageHelper.startPage(int pageNum, int pageSize)
(1)pageNum:起始页的页码
(2)pageSize:每页显示的条数
3、当前页的起始索引:index = (pageNum - 1) * pageSize
分页相关数据
1、直接输出
//访问第一页,每页四条数据
Page<Object> page = PageHelper.startPage(1, 4);
List<Emp> emps = mapper.selectByExample(null);
//在查询到List集合后,打印分页数据
System.out.println(page);
2、在查询获取 List 集合之后,使用 PageInfo<T> pageInfo = new PageInfo<>(List<T> list, intnavigatePages) 获取分页相关数据
(1)list:分页之后的数据,等价于直接输出的 page 数据,泛型对应 JavaBean
(2)navigatePages:展示导航分页的页码数,一般为奇数
PageHelper.startPage(1, 4);
List<Emp> emps = mapper.selectByExample(null);
PageInfo<Emp> page = new PageInfo<>(emps,5);
System.out.println(page);
3、常用数据
(1)pageNum:当前页的页码
(2)pageSize:每页显示的条数
(3)size:当前页显示的真实条数
(4)total:总记录数
(5)pages:总页数
(6)prePage:上一页的页码
(7)nextPage:下一页的页码
(8)isFirstPage / isLastPage:是否为第一页 / 最后一页
(9)hasPreviousPage / hasNextPage:是否存在上一页 / 下一页
(10)navigatePages:导航分页的页码数,一般为奇数
(11)navigatepageNums:导航分页的页码,由底层计算
(12)navigateFirstPage:导航分页的起始页,由底层计算
(13)navigateLastPage:导航分页的结尾页,由底层计算
4、假设 pageNum = n,navigatePages = m
(1)navigateFirstPage = (m - 1) - 2,navigateFirstPage >= 1
(2)navigatepageNums = (m + 1) - 2,navigatepageNums <= total
(3)navigatepageNums = [(m - 1) - 2, (m - 1) - 1, n, (m - 1) + 1, (m - 1) + 2]
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战