pagehepler分页插件

一、pagehelper介绍

pagehepler是一款可以帮助我们快速实现分页的插件,总之就是比传统的分页方式方便太多。话不多说,直接上手pagehelper插件的使用。

二、需要导入的依赖
<dependency>       
	<groupId>com.github.pagehelper</groupId>
  		  <artifactId>pagehelper-spring-boot-starter</artifactId>
     <version>1.2.3</version>
  </dependency>
三、在项目配置文件中添加配置
#pagehelper分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
四、写一个查询所有的mapper接口

查询所有成员

public List<member> select_member();

在mapper.xml中添加对应的方法

<select id="select_member" resultType="com.jsjgf.pojo.member">
       select * from member
</select>

这里有关于实体类和mapper层的写法和以前的写法是一样的。

五、service层调用mapper层方法
@Override
    public List<member> select_member() {
        return memberMapper.select_member();
    }
六、controller层
@RequestMapping("/selMemberPage")
  public String pageHelper(@RequestParam(value="pageNo",defaultValue="1")int pageNo, @RequestParam(value="pageSize",defaultValue="7")int pageSize, Model model){

      PageHelper.startPage(pageNo,pageSize);
      List<member> members = memberService.select_member();
      PageInfo<member> page = new PageInfo<>(members);

      model.addAttribute("pageInfo",page);

      return "index";

  }
  • 1、核心代码:PageHelper.startPage(pageNo,pageSize);其实就只有这一句,pageNo代表当前页码,pageSize代表显示的数据条数。
  • 2、注意: PageHelper.startPage(pageNo,pageSize);它的下一句一定要跟查询语句,且只能对它后面跟着的第一条查询语句内容分页。
  • 3、PageInfo page = new PageInfo<>(members);这一句将查询到的信息进行整理,pagehelper插件会自动帮我们做。
七、前端展示

这里可以使用各种前端模板引擎接收数据,以thymeleaf为例:

<li th:if="${pageInfo.hasPreviousPage}"><a th:href="@{'/selMemberPage?pageNo=1'}">首页</a></li>
<li th:if="${pageInfo.hasPreviousPage}"><a th:href="@{'/selMemberPage?pageNo='+${pageInfo.prePage}}">上一页</a></li>
<li th:if="${pageInfo.hasNextPage}"><a th:href="@{'/selMemberPage?pageNo='+${pageInfo.nextPage}}">下一页</a></li>
<li th:if="${pageInfo.hasNextPage}"><a th:href="@{'/selMemberPage?pageNo='+${pageInfo.pages}}">尾页</a></li>

由于太简单,只展示分页按钮。

八、插件属性扩展

1、pageInfo.pageNum:当前页号
2、pageInfo.pageSize:每页显示数
3、pageInfo.startRow:起始页
3、pageInfo.endRow:终止页
4、pageInfo.total:总数据数
5、pageInfo.pages:总页数
6、pageInfo.isFirstPage:是否为第一页
7、pageInfo.isLastPage:是否为最后一页
8、pageInfo.hasPreviousPage:是否有上一页
9、pageInfo.hasNextPage:是否有下一页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值