MyBatis框架

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();

                   }

         }