码迷,mamicode.com
首页 > 其他好文 > 详细

pagehelper分页插件,再也不用为分页而烦恼了!

时间:2021-03-17 14:51:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:介绍   sql   argument   list   tar   配置   port   rtm   rtp   

一、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:是否有下一页

pagehelper分页插件,再也不用为分页而烦恼了!

标签:介绍   sql   argument   list   tar   配置   port   rtm   rtp   

原文地址:https://www.cnblogs.com/xhjhs/p/14545495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!