1.pom.xml引入依赖
| <dependency> |
| <groupId>com.github.pagehelper</groupId> |
| <artifactId>pagehelper</artifactId> |
| <version>5.1.11</version> |
| </dependency> |
2.mybatis-config.xml配置分页插件
在 MyBatis 的配置文件中添加 PageHelper 的插件:
| <plugins> |
| <plugin interceptor="com.github.pagehelper.PageInterceptor"> |
| <property name="helperDialect" value="mysql"/> |
| </plugin> |
| </plugins> |
注意:
com.github.pagehelper.PageInterceptor
是 PageHelper 插件的名称,helperDialect
属性用于指定数据库类型(支持多种数据库)
3.分页插件使用
在查询方法中使用分页:
| @Test |
| @Test |
| public void testPage(){ |
| SqlSession sqlSession = sqlSessionUtil.getSqlSession(); |
| EmpMapper mapper = sqlSession.getMapper( EmpMapper.class); |
| |
| |
| Page<object> page = PageHelper.startPage( pageNum: 1,pageSize: 4); |
| List<Emp> list = mapper.selectByExample(nu1l); |
| |
| PageInfo<Emp> pageInfo = new PageInfo<>(list, navigatePages: 5); |
| list.forEach(System.out::println); |
| System.out.println("总记录数:" + pageInfo.getTotal()); |
| System.out.println("总页数:" + pageInfo.getPages()); |
| System.out.println("当前页码:" + pageInfo.getPageNum()); |
| System.out.println("每页显示的记录数:" + pageInfo.getPageSize()); |
| System.out.println(pageInfo); |
| } |
4.分页相关数据描述
| PageInfo{ |
| |
| pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8, |
| |
| list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,pages=8, reasonable=false, pageSizeZero=false}, |
| |
| prePage=7, 上一页 |
| |
| nextPage=0, 下一页 |
| |
| isFirstPage=false, 是否是第一页 |
| |
| isLastPage=true, 是否是最后一页 |
| |
| hasPreviousPage=true, 是否有上一页 |
| |
| hasNextPage=false, 是否有下一页 |
| |
| navigatePages=5, 导航分页的页码数 |
| |
| navigateFirstPage=4, 导航分页的首位页码 |
| |
| navigateLastPage=8, 导航分页的末尾页码 |
| |
| navigatepageNums=[4, 5, 6, 7, 8] 导航分页的页码 |
| |
| } |
| |
| 常用数据: |
| |
| pageNum:当前页的页码 |
| |
| pageSize:每页显示的条数 |
| |
| size:当前页显示的真实条数 |
| |
| total:总记录数 |
| |
| pages:总页数 |
| |
| prePage:上一页的页码 |
| |
| nextPage:下一页的页码 |
| |
| isFirstPage/isLastPage:是否为第一页/最后一页 |
| |
| hasPreviousPage/hasNextPage:是否存在上一页/下一页 |
| |
| navigatePages:导航分页的页码数 |
| |
| navigatepageNums:导航分页的页码,[1,2,3,4,5] |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 快收藏!一个技巧从此不再搞混缓存穿透和缓存击穿
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!