PageHelper简单使用

之前看mybatis的时候用过,有段时间没用,最近写分页发现有点忘了,就当做个简单的回顾

主要参考
pagehelper官方文档

1.引入依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
</dependency>

2.代码中引用

    @GetMapping("/test")
    public String list(Model model,@RequestParam(defaultValue = "1",value = "pageNum") Integer pageNum){
        //按照排序字段 倒序 排序
        String orderBy = "id desc";
        PageHelper.startPage(pageNum,10,orderBy);
        List<Type> list = typeService.getAllType();
        // 用PageInfo对结果进行包装
        PageInfo<Type> pageInfo = new PageInfo<>(list);
        model.addAttribute("pageInfo",pageInfo);
        return "test";
    }

这里主要使用了官方的示例3

3.前端获取分页结果
我这里使用了thymeleaf简单实现一下

这里用了th:each遍历的Stat变量,目的是获取迭代项的状态

<tr th:each="type,Stat : ${pageInfo.list}">
   <td th:text="${Stat.count}">1</td>
   <td th:text="${type.name}">项目</td>
</tr>
<li th:if="${pageInfo.hasPreviousPage}">
  <a th:href="@{/admin/types(pageNum=${pageInfo.pageNum}-1)}" class="item">上一页</a>
</li>
<li th:if="${pageInfo.hasNextPage}">
  <a th:href="@{/admin/types(pageNum=${pageInfo.pageNum}+1)}" class="item">下一页</a>
</li>
<div>
  当前第 [[${pageInfo.pageNum}]]页,共 [[${pageInfo.pages}]] 页.一共 [[${pageInfo.total}]] 条记录
</div>

PS:

  1. index 属性:当前迭代索引,从0开始
  2. count 属性:当前的迭代计数,从1开始
  3. size 属性:迭代变量中元素的总量
  4. current 属性:每次迭代的 iter 变量,即当前遍历到的元素
  5. even/odd 布尔属性:当前的迭代是偶数还是奇数。
  6. first布尔属性:当前的迭代是否是第⼀个迭代
  7. last 布尔属性:当前的迭代是否是最后⼀个迭代。

效果:
在这里插入图片描述
简单实现了分页功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值