Java培训之扩展-PageHelper分页插件
分页功能几乎在每个系统中都是存在的,它的实现也是有很多种方式的。但是今天我们说的是Java培训课程中的分页,Java培训课程中的分页是怎么样做的呢?接下来我们看一下。
1 PageHelper分页插件简介
- PageHelper是MyBatis中非常方便的第三方分页插件
- 官方文档:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md
- 我们可以对照官方文档的说明,快速的使用插件
8.2 PageHelper的使用步骤
- 导入相关包pagehelper-x.x.x.jar 和 jsqlparser-0.9.5.jar
- 在MyBatis全局配置文件中配置分页插件
<plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin> </plugins> |
- 使用PageHelper提供的方法进行分页
- 可以使用更强大的PageInfo封装返回结果
8.3 Page对象的使用
- 在查询之前通过startPage(页码,条数)设置分页信息,该方法返回Page对象
@Test public void testPageHelper() throws Exception{ SqlSessionFactory ssf = getSqlSessionFactory(); SqlSession session = ssf.openSession(); try { EmployeeMapper mapper = session.getMapper(EmployeeMapper.class); //设置分页信息 Page<Object> page = PageHelper.startPage(9, 1); List<Employee> emps = mapper.getAllEmps(); for (Employee employee : emps) { System.out.println(employee); } System.out.println("=============获取分页相关的信息================="); System.out.println("当前页: " + page.getPageNum()); System.out.println("总页码: " + page.getPages()); System.out.println("总条数: " + page.getTotal()); System.out.println("每页显示的条数: " + page.getPageSize()); } finally { session.close(); } } |
8.4 PageInfo对象的使用
- 在查询完数据后,使用PageInfo对象封装查询结果,可以获取更详细的分页信息以及
可以完成分页逻辑
@Test public void testPageHelper1() throws Exception{ SqlSessionFactory ssf = getSqlSessionFactory(); SqlSession session = ssf.openSession(); try { EmployeeMapper mapper = session.getMapper(EmployeeMapper.class); //设置分页信息 Page<Object> page = PageHelper.startPage(9, 1); List<Employee> emps = mapper.getAllEmps(); // PageInfo<Employee> info = new PageInfo<>(emps,5); for (Employee employee : emps) { System.out.println(employee); } System.out.println("=============获取详细分页相关的信息================="); System.out.println("当前页: " + info.getPageNum()); System.out.println("总页码: " + info.getPages()); System.out.println("总条数: " + info.getTotal()); System.out.println("每页显示的条数: " + info.getPageSize()); System.out.println("是否是第一页: " + info.isIsFirstPage()); System.out.println("是否是最后一页: " + info.isIsLastPage()); System.out.println("是否有上一页: " + info.isHasPreviousPage()); System.out.println("是否有下一页: " + info.isHasNextPage());
System.out.println("============分页逻辑==============="); int [] nums = info.getNavigatepageNums(); for (int i : nums) { System.out.print(i +" " ); } } finally { session.close(); } } |
想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训课程视频供广大学员下载学习。