MyBatis框架

第8章:扩展-PageHelper分页插件

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

                   }

         }