首页 > 其他分享 >Springboot下PageHelper分页不生效问题

Springboot下PageHelper分页不生效问题

时间:2023-12-22 23:11:06浏览次数:27  
标签:分页 pagehelper 生效 new PageHelper public Springboot

今天在做一个小项目,引入 PageHelper 时踩了一个坑,记录一下。

解决方案参考:SpringBoot+MyBatis使用pagehelper分页插件及其注意事项(含解决分页不生效问题)

环境:

  • SpringBoot 3.2.0
  • JDK 17
  • Postgresql 15
  • PageHelper 1.2.12

依赖

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

使用

     public Response<PageInfo<User>> queryAllUser(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> userList = userMapper.selectAll();
        return ResponseUtil.success(new PageInfo<>(userList));
    }

全部数据返回到前端,没有产生分页的效果。

看了大多数不生效的情况就是以下几种:

  1. 分页和真正的数据查询之间夹杂了其他操作
  2. 先执行了查询然后再设置的分页
  3. 依赖导入错误,导入的不是 pagehelper-spring-boot-starter

但是从自己的代码确认不是这类问题。

找了好久,看到 SpringBoot+MyBatis使用pagehelper分页插件及其注意事项(含解决分页不生效问题) 这篇博客末尾提到了使用分页拦截器,抱着试试看的心态,加了个一个配置类,确实生效了,原因未知。

@Configuration
public class PageHelperConfig {

    @Bean
    public Interceptor[] plugins() {
        return new Interceptor[]{new PageInterceptor()};
    }

}

如果有遇到 PageHelper 分页不生效,不妨试试这个方法。

标签:分页,pagehelper,生效,new,PageHelper,public,Springboot
From: https://www.cnblogs.com/chenxii81/p/17922517.html

相关文章

  • springboot_3.2_freemark_基础环境配置
    springboot_3.2_freemark_基础环境配置一、前言二、环境三、相关资料四、目标五、默认配置项六、构建springboot3.2项目6.1pom.xml内容:6.2启动类6.3添加ftlh模板6.4controller内容6.5bootstrap.yml配置七、总结一、前言FreeMarker是一款模板引擎:即一种基于模板和要改变的......
  • springboot1.x升级到springboot3.x中遇到的问题总结
    springboot1.x升级到springboot3.x中遇到的问题总结springboot1.x升级到springboot3.x中遇到的问题总结前言问题:无法创建DataSource的bean对象,提示url或driverclass未配置问题:引入freemark后页面总是报404问题:bootstrap.yml不生效,配置中的内容无法读取springboot1.x升级到spring......
  • Template-分页列表-多条件搜索
    packagemainimport( "2112aGorm/models" "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "html/template" "io" "math" "net/http" "os" "strconv")va......
  • SpringBoot系列---【过滤器Filter和拦截器HandlerInterceptor的区别和用法】
    1.作用时机1.1过滤器过滤器(Filter)主要作用在请求到达Servlet或JSP之前,对请求进行预处理,可以对HTTP请求进行过滤、修改。过滤器是基于回调函数实现的,开发人员通过重写doFilter()方法实现过滤逻辑,其主要功能有:权限验证:检查用户是否已经登录或者是否具有相应的权限。数据压......
  • 【Java】Spring、SpringBoot、SpringCloud理解和入门
    关于Spring、SpringBoot、SpringCloud我总结了几点。Spring是轻量级的容器框架,目前大多数项目不直接使用Spring的。SpringBoot是Spring的升级版,主要应用单个微服务,关联性小的项目、规模小、硬件要求不高的项目。SpringCloud基于SpringBoot来实现微服务开发组件。主要应用于规......
  • el-select自定义指令用于触底加载分页请求options数据(附上完整代码和接口可直接用)
    问题描述某些情况下,下拉框需要做触底加载,发请求,获取option的数据为了方便复用,笔者封装了一个自定义指令另外也提供了一个简单的接口,用于演示我们先看看效果图效果图思路分析注意事项一el-select要不嵌入到body中为何,不嵌入到body标签中呢?答曰,更加方便自定义指令管理......
  • 操作系统--分页存储管理中逻辑地址转换为物理地址
    【例1】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:(1)逻辑地址需要多少二进制位表示?(2)物理地址需要多少二进制位表示? 它由两个部分组成:前一部分表示该地址所在页面的页号p;后一部分表示页内地址(页内位移)d。页号的地址位数决定了......
  • 【SpringBootWeb入门-17】Mybatis-基础操作-动态SQL
    1、章节回顾上一篇文章我们讲解完了Mybatis基础操作,本篇继续学习Mybatis中非常重要的功能:动态SQL。什么是动态SQL:随着用户的输入或外部条件的变化而变化的SQL语句,我们称为动态SQL。简单说SQL语句不是固定的,是动态变化的。就拿我们上一篇所提到的根据条件来查询员工的SQL语句来......
  • 如何新建SpringBoot2.7.X项目
    新版的idea在创建SpringBoot项目时最低的JDK都需要选择jdk17,可是我的本地只有jdk8,通过创建maven工程,然后在pom中手动填写相关依赖等信息来创建项目,pom文件内容(官网copy的)<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-......
  • SpringBoot原理
    配置SpringBoot中支持三种格式的配置文件.properties.yml.yaml虽然Springboot支持多种文件配置,但是通常在项目开发中,我们一般推荐使用yml文件配置优先级在SpringBoot项目中,常见的属性配置有5种,3种配置文件加上两种外部的配置,生效优先级SrpingBoot配置优先级(低->高):1......