使用pagehelper插件实现物理分页

本文详细介绍了如何在Spring Boot项目中使用PageHelper插件实现动态分页,通过示例展示了如何配置依赖、设置分页参数和调整DAO、Service及Controller层代码,帮助开发者避免手动设置LIMIT,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

映入插件的依赖

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

使用原理
1、先设置PageHelper.startPage
PageHelper.startPage(pageNum, pageSize);//第一个参数是当前页数,第二个参数是每页显示多少个数据
2、 //紧跟着的第一个select方法会被分页
意思是设置了 PageHelper.startPage(pageNum, pageSize);后,后面的第一个(仅限第一个)业务层方法会自动进行物理分页,也就是在xml不用进行原始的limit分页操作

直接上代码
dao层

 //显示所有动态
    List<DynamicVo> dynamics();

service层

 //显示所有动态
    List<DynamicVo> dynamics();

业务层

 @Override
    public List<DynamicVo> dynamics() {
        return dynamicMapper.dynamics();
    }

xml

 <select id="dynamics" resultMap="dynamicVo">
        select d.id,d.cover,d.title,d.content,d.created_at,u.id uid ,u.avatar,u.name,c.name categoryName from
        dynamic d LEFT JOIN
         user u
        ON d.uid=u.id
        LEFT JOIN
        category c
        ON d.category_id=c.id
    </select>
controller
 //显示所有动态
    @GetMapping("dynamics")
    @ApiOperation("显示所有动态")
    public ResponseBean dynamics(@RequestParam(value = "pageNum",defaultValue = "0") int pageNum,
                                 @RequestParam(value = "pageSize",defaultValue = "5") int pageSize){
        PageHelper.startPage(pageNum, pageSize);
        List<DynamicVo> dynamics = dynamicService.dynamics();
        PageInfo<DynamicVo> pageInfo=new PageInfo<>(dynamics);
        return ResponseBean.success(pageInfo.getList());
    }

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值