Springboot整合PageHelper分页插件

使用传统的分页方式属实有些冗余,接下来介绍PageHelper在Springboot中的简单使用!

详情参考:PageHelper官网

一、使用maven导包

        <!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
        </dependency>

此时,我们需要知道的是,我们需要在执行查询之前配置分页条件,使用pagehelper静态方法 ,默认的我们的查询会按照设置的分页条件查询,而此时我们还需要通过分页查询出来的前n条数据,获得完整分页信息,生成PageInfo对象,传给前台,通过PageInfo中的信息,实现数据的分页操作!

二、Java代码


    @RequestMapping("/")
    public String index(@RequestParam(value = "pageNum",defaultValue = "1",
    								required = false)Integer pageNum, Model model){
        //分页获取前7条博客
        PageHelper.startPage(pageNum,6);
        List<Blog> blogs = blogService.getBlog();
        PageInfo<Blog> pageInfo =new PageInfo<>(blogs);

        //将pageInfo的值保存在Model中
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("blogs",blogs);

        return "index";
    }

三、前台解析代码

<!-- 分页模块 -->

 <div class="ui bottom attached segment" >
   <div class="ui middle aligned two column grid">
      <div class="column" th:if="${pageInfo.pages}>1">
     	<a href="#" th:href="@{/(pageNum=${pageInfo.prePage})}" th:if="${pageInfo.hasPreviousPage}" class="ui mini teal basic button">上一页</a>
      </div>
      <div class="right aligned column" th:if="${pageInfo.pages}>1">
         <a href="#" th:href="@{/(pageNum=${pageInfo.nextPage})}" th:if="${pageInfo.hasNextPage}"  class="ui mini teal basic button">下一页</a>
      </div>
    </div>
 </div>

PageInfo中参数详情:

pageNum:当前为第几页

pageSize:每页的数据行数

startRow:当前页数据从第几条开始

endRow:当前页数据从第几条结束

pages:总页数

prePage:上一页页数

nextPage:下一页页数

hasPreviousPage:是否有上一页

hasNextPage:是否有下一页

navigatepageNums:所有页码的数组

至此,简单的分页使用完毕!

posted @ 2022-01-23 20:36  爪洼ing  阅读(84)  评论(0编辑  收藏  举报