SpringBoot使用PageHelper超过PageNum还有数据

本文介绍了如何在Spring Boot应用中通过application.properties配置文件将PageHelper的reasonable参数设置为false,以改变默认的分页行为。当pageNum小于等于0时,将查询第一页;pageNum大于总页数时,查询最后一页。

在配置文件(application.properties)中设置:

pagehelper.reasonable = false

reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。

### 如何在 Spring Boot 中集成 PageHelper 实现分页功能 #### 添加依赖 为了使 PageHelper 能够正常工作,需先在 `pom.xml` 文件中引入相应的 Maven 依赖。推荐使用 `pagehelper-spring-boot-starter` 来简化配置过程[^3]。 ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.6</version> </dependency> ``` #### 配置文件设置 通常情况下,默认配置已足够满足大多数需求;如果需要自定义一些属性,则可以在 application.properties 或者 application.yml 文件里添加特定的配置项来调整行为方式[^5]。 对于 YAML 格式的配置如下所示: ```yaml pagehelper: helperDialect: mysql # 数据库方言 reasonable: true # 是否合理化分页 supportMethodsArguments: true # 支持通过方法参数获取PageInfo params: count=countSql # 设置SQL查询参数 ``` #### 编写服务层逻辑 当完成上述准备工作之后,在实际业务代码里面就可以很方便地调用 PageHelper 提供的方法来进行数据分页处理了。下面给出一段简单的 Java 示例代码用于展示如何执行带有限制条件的数据检索操作并返回分页后的结果集[^4]。 ```java import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.stereotype.Service; @Service public class UserService { public PageInfo<UserDTO> getUsers(int pageNum, int pageSize){ // 开始分页 PageHelper.startPage(pageNum, pageSize); List<UserDTO> list = userMapper.selectAllUsers(); // 使用PageInfo包装查询结果 return new PageInfo<>(list); } } ``` 这里需要注意的是,`startPage()` 方法应该尽可能靠近真实的数据库访问语句放置,以确保其作用范围仅限于紧随其后的那一次查询请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值