PageHelper分页功能的简单实现

      PageHelper是一个开源的Java分页插件,可以帮助开发者在MyBatis、Hibernate等持久层框架中实现分页功能。它提供了一系列的静态方法,可以简化分页查询的操作。

使用PageHelper进行分页,首先需要在项目中引入PageHelper的依赖,然后在代码中配置分页参数,并调用分页查询的方法。

下面是一个使用PageHelper进行分页查询的示例:

  1. 引入PageHelper的依赖

    com.github.pagehelper
    pagehelper
    最新版本号

     2.在代码中配置分页参数:

import com.github.pagehelper.PageHelper;

// 设置分页参数,pageNum表示当前页码,pageSize表示每页显示的记录数
PageHelper.startPage(pageNum, pageSize);

    3.调用分页查询的方法:

      //列表功能
        Map map = new HashMap<>();
       map.put("name",request.getParameter("ename"));
        List list= myService.list(map);

  4.获取分页结果:

// 获取分页信息
PageInfo pageInfo = new PageInfo<>(userList);

// 获取分页数据
List pageData = pageInfo.getList();

// 获取总记录数
long total = pageInfo.getTotal();
 map.put("movieList", pageInfo.getList());
 map.put("pre", pageInfo.getPrePage());
 map.put("next", pageInfo.getNextPage());
 map.put("pages", pageInfo.getPages());
 map.put("lastPage",pageInfo.getLastPage());
 map.put("PageNum",pageInfo.getPageNum());
 /*返回页面*/
 request.setAttribute("map",map);
 request.getRequestDispatcher("list.jsp").forward(request,response);

通过以上步骤,就可以使用PageHelper进行分页查询了。它会自动在查询语句中添加分页的SQL语句,实现数据的分页查询功能。

需要注意的是,PageHelper是一个基于拦截器的插件,所以在使用时需要保证分页查询的代码位于拦截器设置的范围内。另外,PageHelper还提供了一些其他的功能,如排序、 count查询等,可以根据实际需求进行配置和使用。

    然后简绍一下PageInfo类:

               ageInfo类是Java中的一个分页插件,用于对分页查询结果进行封装和处理。它主要提供以下几个重要的方法:     

  1. getPageNum():获取当前页码;
  2. getPageSize():获取每页显示的数据条数;
  3. getTotal():获取总数据条数;
  4. getPages():获取总页数;
  5. getList():获取当前页的数据列表;
  6. isHasPreviousPage():判断是否有前一页;
  7. isHasNextPage():判断是否有后一页;
  8. navigatePages(int pages):获取当前页码附近指定数量的页码列表。

这些方法可以帮助我们方便地进行分页查询结果的处理和展示。其中,getPageNum()、getPageSize()、getTotal()、getPages()和getList()方法是最常用的,用于获取分页后的查询结果相关信息和数据列表;isHasPreviousPage()和isHasNextPage()方法可以判断是否存在前一页和后一页,以便进行相应的分页导航;navigatePages(int pages)方法可以获取当前页码附近指定数量的页码列表,用于分页导航时展示页码链接。

除了以上常用的方法外,PageInfo类还提供了一些其他的方法,比如setOrderBy()、setOrderByOnly()、setReasonable()等,用于设置分页排序、分页合理化处理等。这些方法可以根据具体需求进行使用和配置。

你可能感兴趣的:(JavaWeb,mybatis,maven)