springboot整合pagehelper实现分页操作

一 说明

1.1 说明

项目的基本架构,的搭建参考:springboot整合mybaits, 实现crud操作(全) springboot的持久化_健康平安的活着的博客-CSDN博客_新建springboot项目crud   springboot整合mybaits, 实现crud操作(全) springboot的持久化

1.2  项目的结构

1.3  实现访问效果

1.4 mybaits pagehelper的api 

1.案例截图

 2.参数说明

{pageNum=1,当前页码

pageSize=1,每页个数

size=1,当前页个数

startRow=1,由第几条开始

endRow=1,到第几条结束

total=3,总条数

pages=3,总页数

list=Page{count=true, pageNum=1, pageSize=1, startRow=0, endRow=1, total=3, pages=3, reasonable=false, pageSizeZero=false}[com.zhiyou.zt.bean.Users@6572421],当前页数据

prePage=0,上一页

nextPage=2,下一页

isFirstPage=true,是否为首页

isLastPage=false,是否为尾页

hasPreviousPage=false,是否有上一页

hasNextPage=true,是否有下一页

navigatePages=8,每页显示的页码个数

navigateFirstPage=1,首页

navigateLastPage=3,尾页

navigatepageNums=[1, 2, 3]}页码数

 二 分页的配置

2.1 pom文件

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

2.2 application配置文件的配置

#分页插件
  pagehelper:
    helper-dialect: mysql
    params: count=countSql
    reasonable: true    #开启优化,如果开启优化,在分页页码结果没有数据的时候,会显示有数据的页码数据
    support-methods-arguments: true #是否支持接口参数来传递分页参数,默认false

 

2.3 编写controller 

    @GetMapping("/getAllPerson")
    public String getAllPerson(Model model,@RequestParam(defaultValue = "1",value = "pageNum") Integer pageNum){
        PageHelper.startPage(pageNum,5);
        List<Users> list = this.usersService.findUserAll();
        PageInfo<Users> pageInfo = new PageInfo<Users>(list);
        model.addAttribute("pageInfo",pageInfo);
        //model.addAttribute("list", list);
        return "user_list";
    }

2.4 html页面


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div align="center">
    <table border="1">
        <tr>
            <th>id</th>
            <th>name</th>

            <th>age</th>
        </tr>
        <tr th:each="person:${pageInfo.list}">
            <td th:text="${person.id}"></td>
            <td th:text="${person.name}"></td>

            <td th:text="${person.age}"></td>
        </tr>
    </table>
    <p>当前 <span th:text="${pageInfo.pageNum}"></span> 页,总 <span th:text="${pageInfo.pages}"></span> 页,共 <span th:text="${pageInfo.total}"></span> 条记录</p>
    <a th:href="@{/users/getAllPerson}">首页</a>
    <a th:href="@{/users/getAllPerson(pageNum=${pageInfo.hasPreviousPage}?${pageInfo.prePage}:1)}">上一页</a>
    <a th:href="@{/users/getAllPerson(pageNum=${pageInfo.hasNextPage}?${pageInfo.nextPage}:${pageInfo.pages})}">下一页</a>
    <a th:href="@{/users/getAllPerson(pageNum=${pageInfo.pages})}">尾页</a>
</div>
</body>
</html>

2.5 访问

第一页:

第二页:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值