springboot2.x 分页查询实现(mybatis-plus+pagehelper)

本文详细介绍了如何在基于SpringBoot的项目中,利用MyBatisPlus和PageHelper库实现分页查询功能,包括添加依赖、修改Service和Mapper接口,以及Controller中的调用示例。

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

基于mybatisplus使用pagehelper实现简单分页查询的功能。pagehelper仅需要把已有查询结果重新封装一下即可,不需要改变sql、mapper之类的。例如有xxxmaper.findall(xx)函数可以列出全部符合条件的数据。仅需要

PageHelper.startPage(pageNum, pageSize);
List<Entity> list = xxxMapper.findall(xx);
return new PageInfo<>(list);

即可实现分页查询。 

本文操作前提:拥有一个可以使用mybatisplus和数据库做交互的项目,这里使用了spring boot使用mybatisplus访问mysql的配置流程生成的项目。

1. 基于pagehelper的分页函数实现

1.1 添加依赖项并重新加载maven

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

1.2 在service中定义拥有分页功能的方法,并在接口类中声明。

public PageInfo<User> queryByPage(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> list = userMapper.findall();
        return new PageInfo<>(list);
    }

 

2.其他部分内容

此时分页查询接口已经完全实现了,后续内容是为了测试而写的其它内容。

2.1. 在mapper中findall()方法接口

usermapper.java

 usermapper.xml对应sql

    <select id="findall" resultType="com.example.demo.entity.User">
        SELECT * FROM user
    </select>

 2.2.controller对应接口实现

    @GetMapping("/list")
    public PageInfo<User> getList(@RequestParam(defaultValue = "1") int pageNum,
                                        @RequestParam(defaultValue = "10") int pageSize) {
        PageInfo<User> infos = userService.queryByPage(pageNum, pageSize);
        return infos;
    }

 

结果查看

访问 localhost:8080/myuser/list?pageNum=1&pageSize=8

访问 localhost:8080/myuser/list?pageNum=1&pageSize=3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值