springboot配置分页插件pageHelper(yml)

本文介绍了如何在Spring Boot项目中使用PageHelper进行分页查询。首先,通过Maven引入PageHelper-spring-boot-starter的1.4.1版本依赖,解决了可能存在的循环依赖问题。接着,在配置文件中设置了数据库方言、分页参数合理化和参数映射等选项。在Controller层,通过PageHelper.startPage()方法启动分页,然后调用业务层方法获取分页数据,并使用PageInfo构造分页信息。

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

1,导入maven

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

 注意:这个地方启动后可能报错<循环依赖>问题,调整版本即可我的parent 版本是2.7.3,调整.pagehelper版本到1.4.1之后不再报错

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

2,yml配置

pagehelper:
  # 数据库方言 mysql
  helper-dialect: mysql

  # 分页参数合理化
  # 默认是false。
  # 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页;
  # 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据
  reasonable: true

  # 支持通过 Mapper 接口参数来传递分页参数
  # 默认值 false
  support-methods-arguments: true

  # 为了支持startPage(Object params)方法,增加了该参数来配置参数映射,
  # 用于从对象中根据属性名取值
  #  默认值为 countSql

3,controller

在执行sql语气的代码前 启动pagehelper

  PageHelper.startPage(pageNum,pageSize);
  List<News> newsByPage = newsServiceImpl.getNewsByPage();
 PageInfo<News> pageInfo = new PageInfo<>(newsByPage);


### 关于Spring Boot中使用PageHelper分页插件 #### 配置过程概述 在Spring Boot项目中集成PageHelper分页插件可以通过几个关键步骤完成。这些步骤涵盖了依赖引入、配置文件设置以及控制器中的实际应用。 #### 添加Maven依赖 为了使PageHelper能够在Spring Boot项目中正常工作,首先需要在`pom.xml`文件中添加相应的依赖项[^1]: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency> ``` #### 配置application.properties 接着,在项目的`application.properties`或`application.yml`文件中进行必要的配置。以下是基于MySQL数据库的一个典型配置示例][^[^24]: ```properties # PageHelper分页插件配置 pagehelper.helper-dialect=mysql pagehelper.support-methods-arguments=true pagehelper.params=count=countSql pagehelper.reasonable=true ``` 上述配置解释如下: - `pagehelper.helper-dialect`: 设置使用的数据库方言,这里指定为MySQL。 - `pagehelper.support-methods-arguments`: 支持方法参数作为分页参数,默认值为false。 - `pagehelper.params`: 自定义SQL参数,通常用于统计查询总数的自定义语句。 - `pagehelper.reasonable`: 是否合理化分页参数,当分页参数不合理时自动调整到最接近的边界值。 #### Controller层实现分页逻辑 在Controller类中可以调用PageHelper来实现分页功能。下面是一个简单的例子,演示如何获取第一页的数据并每页显示10条记录: ```java import com.github.pagehelper.PageHelper; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @GetMapping("/users") public List<User> getUsers(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) { // 开始分页 PageHelper.startPage(pageNum, pageSize); // 这里假设有一个UserMapper接口负责数据访问 return userMapper.selectAllUsers(); } } ``` 在这个例子中,`PageHelper.startPage()` 方法会在执行后续的 SQL 查询之前启动分页机制,并返回当前页面的结果集。 #### 数据库交互与前端展示 如果希望进一步增强用户体验,还可以结合Thymeleaf或其他模板引擎渲染分页结果[^3]。例如,利用Bootstrap框架构建响应式的表格结构,配合JavaScript动态加载更多内容或者切换不同页面。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值