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

 更新时间:2023年04月06日 14:54:01   作者:__WanG  
这篇文章主要介绍了解决pageHelper分页失效以及如何配置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

pageHelper分页失效及配置问题

我在使用pageHelper的系统中加入mybatis-plus, 结果所有分页都失效了

原因

我这边的失效原因初步定为是因为mybatis-plus的自动配置和pageHelper的自动配置冲突了, 导致pageHelper的自动配置失效(最终是加上个配置类解决的)

解决方案

新建一个配置类

/**
 * @Author: WanG
 * @Date: 2019-05-13 18:42
 * @version: v1.0
 * @description: TODO
 */
@Configuration
public class MybatisConfig {
   @Bean
   public PageHelper pageHelper() {
      PageHelper pageHelper = new PageHelper();
      Properties p = new Properties();
      p.setProperty("offsetAsPageNum", "true");
      p.setProperty("rowBoundsWithCount", "true");
      p.setProperty("reasonable", "true");
      pageHelper.setProperties(p);
      return pageHelper;
   }
}

PageHelper分页无效及报错

第一种情况SQL报错

> Error querying database.  Cause: java.sql.SQLSyntaxErrorException: You
> have an error in your SQL syntax; check the manual that corresponds to
> your MySQL server version for the right syntax to use near 'LIMIT 5'
> at line 3

原因:在xml写的sql带了分号,由于PageHelper会在sql尾部追加limit,所以导致生成sql时有误,导致错误。

错误写法:

<select id="selectAll" resultMap="BaseResultMap">
        SELECT * FROM student;
</select>

正确写法:

 <select id="selectAll" resultMap="BaseResultMap">
        SELECT * FROM student
</select>

第二种情况分页无效

原因:可能是代码前后顺序有问题,应该先写分页,再执行sql。

错误写法:

List<Student> students = studentMapper.selectAll();
PageHelper.startPage(1, 5, true);

正确写法:

PageHelper.startPage(1, 5, true);
List<Student> students = studentMapper.selectAll();

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈Java实现分布式事务的三种方案

    浅谈Java实现分布式事务的三种方案

    现在互联网下,分布式和微服务横行,难免会遇到分布式下的事务问题,当然微服务下可能没有分布式事务,但是很多场景是需要分布式事务的。下面就来介绍下什么是分布式事务和分布式事务的解决方案
    2021-06-06
  • Java日常练习题,每天进步一点点(55)

    Java日常练习题,每天进步一点点(55)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-08-08
  • Java Spring Dubbo三种SPI机制的区别

    Java Spring Dubbo三种SPI机制的区别

    这篇文章主要介绍了Java Spring Dubbo三种SPI机制的区别,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-08-08
  • java 可变参数详解及实例

    java 可变参数详解及实例

    这篇文章主要介绍了java 可变参数详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • 关于Spring启动时Context加载源码分析

    关于Spring启动时Context加载源码分析

    这篇文章通过源码分析主要给大家介绍了关于Spring启动时Context加载的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Java在Excel中添加水印的实现(单一水印、平铺水印)

    Java在Excel中添加水印的实现(单一水印、平铺水印)

    这篇文章主要介绍了Java在Excel中添加水印的实现(单一水印、平铺水印),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringBoot自动重启的两种方法

    SpringBoot自动重启的两种方法

    我们在项目开发阶段,可能经常会修改代码,修改完后就要重启Spring Boot,本文主要介绍了SpringBoot自动重启的两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Spring @Cacheable注解类内部调用失效的解决方案

    Spring @Cacheable注解类内部调用失效的解决方案

    这篇文章主要介绍了Spring @Cacheable注解类内部调用失效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 使用TraceId在Spring Cloud中实现线上问题快速定位

    使用TraceId在Spring Cloud中实现线上问题快速定位

    在微服务架构中,服务间的互相调用使得问题定位变得复杂,在此背景下,TraceId为我们提供了一个在复杂环境中追踪请求路径和定位问题的工具,本文不仅介绍TraceId的基本概念,还将结合真实场景,为您展示如何在Spring Cloud中应用它
    2023-09-09
  • java读取文件内容的三种方法代码片断分享(java文件操作)

    java读取文件内容的三种方法代码片断分享(java文件操作)

    本文介绍java读取文件内容的三种方法,代码可以直接放到程序中使用,大家参考使用吧
    2014-01-01

最新评论