springboot中简单使用pageHelper分页插件


一、pageHelper是什么?

PageHelper是mybatis框架的一个插件,用于支持在mybatis执行分页操作,使用非常方便.

二、使用步骤

1.maven引入相关依赖

代码如下(示例):

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>

2.以下为返回的json格式

代码如下(示例):

{
    "total": 12,
    "list": [
        {
            "id": 1,
            "createdate": "2022-04-02",
            "title": "spring1",
            "content": "测试测试",
            "comment": 0,
            "summary": "关于spring",
            "viewcounts": 22,
            "fabulous": 13,
            "author": "admin"
        },
    ],
    "pageNum": 1,
    "pageSize": 10,
    "size": 10,
    "startRow": 1,
    "endRow": 10,
    "pages": 2,
    "prePage": 0,
    "nextPage": 2,
    "isFirstPage": true,
    "isLastPage": false,
    "hasPreviousPage": false,
    "hasNextPage": true,
    "navigatePages": 8,
    "navigatepageNums": [
        1,
        2
    ],
    "navigateFirstPage": 1,
    "navigateLastPage": 2
}

3.接口

/**
     *
     * @param pageNum
     * @param title
     * @param model
     * @return
     */
    @RequestMapping("/userList")
    public String list(String pageNum, String title, Model model) {
    	//title  用于做模糊查询用
        List<Admin> list = null;
        // pageNum:当前页,pageSize:每页的显示的数据数目
        if (pageNum == null || pageNum.equals("")) {
        //这里我是根据自己业务逻辑设置默认为一页6条数据
        //第一个参数为pageNum,第二个参数为pageSize
            PageHelper.startPage(1, 6);
        } else {
            PageHelper.startPage(Integer.valueOf(pageNum), 6);
        }
        //到数据库查询相关数据
        list = loginService.findAll();
        // 上面两行代码必须在一起,设置.startPage()方法后立即查询数据
        PageInfo<Admin> pageInfo = new PageInfo<>(list);
        // 获得分页后的数据信息,放到model域中
        model.addAttribute("users", pageInfo);
		//返回到前端页面
        return "admin/member-list";
    }

**PageHelper库中中有一个核心类PageInfo封装查询的list,包含了分页信息(结果总数,当前页,上一页,下一页,当前页的结果集),还有一个PageHelper类,在分页查询之前使用PageHelper.startPage(当前页,每一页的条数),完成分页查询操作调用自己的查询方法查询出的list对象封装到PageInfo中即可完成。
**

4.前端代码

前端使用的是thmeleaf进行数据渲染
member-list.html部分代码

 <div class="page">
                        <div>
                            <a class="prev" th:href="@{'/admin/userList?pageNum='+${users.pageNum - 1}}"><<</a>
                            <a class="num" href="#"  th:text="'当前是第 '+${users.pageNum}+''">当前是第一页</a>
                            <a class="num" href="#"  th:text="''+${users.pages}+''">共10页</a>
                            <a  class="num" href="#"  th:text="''+${users.total}+''">共10条</a>
                            <a class="next" th:href="@{'/admin/userList?pageNum='+${users.pageNum + 1}}">>></a>
                        </div>
                    </div>

5.注意

springboot的版本与pagehelper的版本会冲突造成循环依赖的问题,建议springboot版本2.6以下
pagehelper版本1.x.x
我使用的是springboot2.5.5和pagehelper1.3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值