解决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中的 HashMap 的加载因子是0.75原理探讨

    java中的 HashMap 的加载因子是0.75原理探讨

    在Java中,HashMap是一种常用的数据结构,用于存储键值对,它的设计目标是提供高效的插入、查找和删除操作,在HashMap的实现中,加载因子(Load Factor)是一个重要的概念,本文将探讨为什么Java中的HashMap的加载因子被设置为0.75
    2023-10-10
  • java音乐播放器课程设计

    java音乐播放器课程设计

    这篇文章主要为大家详细介绍了java音乐播放器的课程设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • springboot集成shiro权限管理简单实现

    springboot集成shiro权限管理简单实现

    这篇文章主要介绍了springboot集成shiro权限管理简单实现,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • java多线程通过CompletableFuture组装异步计算单元

    java多线程通过CompletableFuture组装异步计算单元

    这篇文章主要为大家介绍了java多线程通过CompletableFuture组装异步计算单元,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Spring cloud 实现房源查询功能的实例代码

    Spring cloud 实现房源查询功能的实例代码

    这篇文章主要介绍了Spring cloud 实现房源查询功能,本项目是一个多模块项目,创建一个 Spring Initializr 项目 不自动添加依赖项,完成创建后删除自带的src目录,并在根目录下创建新的maven模块,需要的朋友可以参考下
    2022-09-09
  • Java Stream流语法示例详解

    Java Stream流语法示例详解

    这篇文章主要为大家详细介绍了Java的Stream流,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • SpringBoot MongoDB详细使用教程

    SpringBoot MongoDB详细使用教程

    这篇文章主要介绍了SpringBoot整合Mongodb实现简单的增删查改,MongoDB是一个以分布式数据库为核心的数据库,因此高可用性、横向扩展和地理分布是内置的,并且易于使用。况且,MongoDB是免费的,开源的,感兴趣的朋友跟随小编一起看看吧
    2022-10-10
  • Java OpenCV图像处理之图形与文字绘制

    Java OpenCV图像处理之图形与文字绘制

    这篇文章主要为大家介绍了如何利益Java OpenCV实现在图像上绘制文字与形状,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-02-02
  • Java设计模式之原型模式详解

    Java设计模式之原型模式详解

    这篇文章主要介绍了Java设计模式之原型模式详解,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • java Timer测试定时调用及固定时间执行代码示例

    java Timer测试定时调用及固定时间执行代码示例

    这篇文章主要介绍了java Timer测试定时调用及固定时间执行代码示例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02

最新评论