Spring 中 PageHelper 不生效问题及解决方法

使用这个插件时要注意版本的问题,不同的版本可能 PageHelper 不会生效

springboot 导入的 pagehelper 包

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

如果导入的单个 pagehelper 依赖,还需要导入 pagehelper-spring-boot-autoconfigure 依赖

<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>5.3.2</version>
</dependency>
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
</dependency>

Pagehelper这个mybatis插件网上有很多使用的教程,但使用时往往会有个别一直报错的,或者项目起不来的,主要还是版本问题,之前忽略了这个问题,找了各种方法,在maven里引入pagehelper的依赖时,总是项目起不来,网上有很多资料,就是没有找到对症下药的解决方法,琢磨了挺久,无意间在一篇文章上提到版本不兼容问题,于是找了各种版本做对应,最终实现此功能,主要是springboot、mybatis、和Pagehelper插件的版本要对应上,下面我贴出我的这三个的版本。

引用:Pagehelper分页插件-Mybatis

注意 Java 代码中是否格式正确,以下格式

先调用 PageHelper.startPage(page, limit); 进行设置页码和条数,然后进行开始执行查询,最后用 PageInfo 类以这种类的数据格式进行返回。

本地 jar 包导入时

需要导入 pagehelper 和 jsqlparser 和 pagehelper-spring-boot-autoconfigure 这几个 jar 包,且版本差异要比较小,否则可能不能生效

在 maven 中添加以下内容,打包时添加 jar 包

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <!--打包jar-->
                <directory>src/lib</directory>
                <targetPath>/BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>

    </build>

参考链接:【解决】PageHelper 分页不生效

到此这篇关于Spring 中 PageHelper 不生效问题的文章就介绍到这了,更多相关Spring 中 PageHelper 不生效内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PageHelper在springboot+mybatis框架中的使用步骤及原理解析

    目录 一.思路 二.主要逻辑 三.步骤 一.思路 将分页所需的内容都放到一个实体类中 分页数据所需要的实体类!内包含页码,页大小,总条数,总页数,起始行 pagehelpr提供了这个类 pageInfo,不需要我们自己创建 二.主要逻辑 select * from 表名 limit 起始行,展示几条数据 #第n页 每页展示五条数据 select * from 表名 limit (n-1)*5,5 #每页展示多少条 pageSize 3 #总共有多少条 total select count(*)

  • pageHelper一对多分页解决方案示例

    目录 pageHelper 1.使用嵌套查询 2.使用自定义统计查询 pageHelper 是一个非常方便实用的 Java 分页插件,可以轻松实现数据库分页查询.而在一对多的情况下,如果要实现主表和从表的联合分页查询,可以采用以下两种解决方案: 1.使用嵌套查询 在 SQL 语句中使用嵌套查询,先在主表中查询出需要的数据信息,然后再根据这些信息去查询对应的从表数据.具体的 SQL 语法如下: SELECT m.*, (SELECT COUNT(1) FROM sub_tab s WHERE s.

  • 解决pageHelper分页失效以及如何配置问题

    目录 pageHelper分页失效及配置问题 原因 解决方案 PageHelper分页无效及报错 第一种情况SQL报错 第二种情况分页无效 总结 pageHelper分页失效及配置问题 我在使用pageHelper的系统中加入mybatis-plus, 结果所有分页都失效了 原因 我这边的失效原因初步定为是因为mybatis-plus的自动配置和pageHelper的自动配置冲突了, 导致pageHelper的自动配置失效(最终是加上个配置类解决的) 解决方案 新建一个配置类 /**  * @A

  • PageHelper引发的幽灵数据问题解析

    目录 前言 大胆猜测 PageHelper工作原理 Tomcat请求流程 总结 前言 最近测试反馈一个问题,某个查询全量信息的接口,有时候返回全量数据,符合预期,但是偶尔又只返回1条数据,简直就是“见鬼”了,究竟是为什么出现这样的“幽灵数据”呢? 大胆猜测 首先我们看了下这对代码的业务逻辑,非常的简单,总共没有几行代码,也没有分页逻辑,代码如下: public List<SdSubscription> findAll() { return sdSubscriptionMapper.select

  • spring中@Reference注入为空的解决方法

    线上发生事故了 前天晚上上线一波,发生了一个挺有意思的事,昨天复盘了一下,今天分享一下. 晚上的时候,我负责的系统和收银系统同时上线一波(用的是Dubbo).然后很神奇的事情发生了,收银系统用@Reference注解注入我的接口,然后这个接口的实现类居然为空. 其实我们当时没排查出来是什么原因? 重启了一下就好了,毕竟重启大法好. 但本着不能给用户充钱的路上造成阻碍,还是要排查一波这个代理对象为空是如何造成的. 线上dubbo的版本为2.8.9,注意包名是(com.alibaba) 为了方便大家

  • 详解spring中aop不生效的几种解决办法

    先看下这个问题的背景:假设有一个spring应用,开发人员希望自定义一个注解@Log,可以加到指定的方法上,实现自动记录日志(入参.出参.响应耗时这些) package com.cnblogs.yjmyzz.springbootdemo.aspect; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy

  • MyBatis中PageHelper不生效的解决方案

    MyBatis中PageHelper不生效 今天使用pageHelper,发现设置了PageHelper.startPage(page, pageSize);pageSize设置为10,但是结果并没有分页,查处了全部的数据: 问题解决: 原因是mybatis的依赖版本问题,之前配置的是1.0.0版本,这个版本不支持分页拦截 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>

  • 微信小程序中hidden不生效原因的解决办法

    微信小程序中hidden不生效原因的解决办法 例如如下布局: <view hidden="true" style="display:flex;flex-direction: row;"> <text>text1</text> <text>text2</text> </view> 你会发现hidden没生效.经我实验发现hidden元素对块状布局才生效,所以这段代码里导致hidden没生效的罪魁祸

  • Spring Boot中自动化配置的利弊以及解决方法

    本文主要给大家介绍了关于Spring Boot自动化配置的利弊及解决方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Spring Boot中的双刃剑:自动化配置 在之前的文章中,我们通过各种功能性示例体验了Spring Boot的自动化配置给我们所带来的超便利的新开发方式.但是,在一些情况下Spring Boot的自动化配置也会给我们惹来不少的麻烦,比如这些场景: 项目依赖复杂的情况下,由于依赖方的依赖组织不够严格,可能引入了一些实际我们不需要的依赖,从而导致我们

  • vue在index.html中引入静态文件不生效问题及解决方法

    本文针对的是Vue小白,不喜勿喷,谢谢 出现该问题的标志如下 控制台warning(Resource interpreted as Stylesheet but transferred with MIME type text/html) 出现的原因及解决办法 第一种可能出现原因就是引入的静态文件在src文件夹内,这种的解决办法就是把资源引入静态资源的目录static 第二种可能出现的原因就是有单独的静态资源目录但是名字不叫static,这种的解决办法更改配置文件,把对应的几个配置文件内的stat

  • SpringBoot项目中分页插件PageHelper无效的问题及解决方法

    在Springboot项目中使用分页插件的时候 发现PageHelper插件失效了 我导入的是: 后来才发 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency> 现 PageHelper若要在Springbo

  • element-plus 在vue3 中不生效的原因解决方法(element-plus引入)

    目录 1.安装element-plus (3种方式 ) 2. 在main.js种引用 原因一 原因二 vue3.0 不兼容 element-ui ,于是推出了element-plus 1.安装element-plus (3种方式 ) npm install element-plus --save (推荐)yarn add element-pluspnpm install element-plus 2. 在main.js种引用 import 'element-plus/theme-chalk/in

  • SpringBoot项目中遇到的BUG问题及解决方法

    1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 解决方法: 在yml配置文件中加入debug: true,因为默认的话是false 2.在集成mybatis时mapper包中的类没被扫描 org.springframework.beans.factory.NoSuchBean

  • React+Spring实现跨域问题的完美解决方法

    最近小编在学习react,在学习过程中遇到React+Spring实现跨域问题,下面小编记录了整个问题过程,给大家做个参考. react 跨域访问后台,默认是有跨域问题,并且火弧和谷歌浏览器,对跨域问题展示还不一样. 谷歌浏览器如下图: 此处状态是200,然而在Response却没有任何信息,如下图 然而火弧浏览器,对该问题的描述,就清淅得多, 火弧浏览器告诉我们,跨域了,关于react跨域的帖子,网上也有相关帖子,搜索到的方法,大约都是如下解决方式: 如果你是通过creat-react-app

随机推荐