springboot整合pagehelper实现mybatis分页

简化Mybatis分页操作,让我们来聊聊 PageHelper 及实现原理 面向关系型数据库的 SQL 查询和数据导出时,如果数据条数非常大,直接将所有数据一次性查出或者导出显然是不可行的。这时候就需要进行分页查询或分页导出,将查询或导出的数据按照指定大小分页加载或写入,从而提高查询或导出的效率。而分页查询或分页导出的实现过程比较繁琐,需要考虑很多细节问题,容易出错。因此,出现了一些支持分页查询或分页导出的插件或工具类,例如 MyBatis 的分页插件 PageHelper。 阅读详情

1.依赖

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

2.yml配置

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  returnPageInfo: check
  params: count=countSql

3.service调用写法

	public List<User> findUserList(Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> users = userMapper.selectList();
        log.info("users size:" + users.size());
        return users;
    }

注意:PageHelper.startPage(pageNum, pageSize);这一行代码后腰紧跟需要分页的mapper方法

4.备用
我在整合的过程中,前期一直没有分页的效果,在网上找教程基本也就是上面几步完成就可以了,但我的一直不行,后来我发现是缺少pagehelper的拦截器插件,如果前三步完成后还是没有分页的效果,可以在加上这一步:在启动类注入拦截器的bean:

	@Bean
	public ConfigurationCustomizer configurationCustomizer() {
		return new ConfigurationCustomizer() {
			@Override
			public void customize(Configuration configuration) {
				configuration.setMapUnderscoreToCamelCase(true); // 根据需要开启驼峰命名转换
				PageInterceptor pageInterceptor = new PageInterceptor();
				Properties properties = new Properties();
				properties.setProperty("helperDialect", "mysql"); // 设置数据库类型
				properties.setProperty("reasonable", "true"); // 分页合理化参数
				pageInterceptor.setProperties(properties);
				configuration.addInterceptor(pageInterceptor);
			}
		};
	}

上边的setProperties基本是与yml文件中加的配置重复的,想留着也可以,删了也行

5.一个bug说明
如果分页过程中提示你sql语法错误,提示你limit关键字前边有一个分号;,那就把sql中结尾的分号删掉试试

SpringBoot整合Mybatis-PageHelper分页插件配置与实现 分页是数据库查询中的基础技术,通过LIMIT和OFFSET等SQL语句实现数据分批加载。Mybatis-PageHelper作为MyBatis的分页插件,采用拦截器机制自动改写SQL,简化了分页开发流程。其核心原理是通过ThreadLocal存储分页参数,由PageInterceptor拦截查询并添加数据库特定的分页语句。在SpringBoot项目中,通过pagehelper-spring-boot-starter可快速集成,支持自动检测数据库方言和配置合理默认值。该技术特别适用于Web应用中的表格数据展示 阅读详情

相关推荐

7.3 SpringBoot整合MyBatis分页插件github.pageHelper:实现图书列表API

在软件开发中,分页是一个非常常见的需求,无论是在Web应用程序还是在移动应用程序中,我们经常需要将大量的数据分成多个页面进行展示。本文主要实现图书列表API,使用SpringBoot集成MyBatis分页插件github.pageHelper,首先会从「自己实现分页原理」说起,再到「使用github.pageHelper实现分页以及注意点」,最后回到图书借阅系统实战项目中,「结合通用分页结果」,实现「统一规范的图书列表API」,读完本文,你就可以轻松拿捏通用分页。

天罡gg的专栏 5218

pagehelper快速使用

更详细的信息请查看官网 https://pagehelper.github.io/docs/howtouse/ 1.了解常见配置和最常用的方式,快速上手。 # pagehelper分页插件配置 pagehelper: helperDialect: mysql reasonable: true helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect属性来指定分页插件使用哪种方言。 reasonable:分页合理化参数,默认值为f

u011055858的博客 1733

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash。

cl234583745的博客 1466

Spring Boot学习(十六):Spring Boot整合pagehelper(Mybatis分页神器)

前言 Spring Boot系列: 点击查看Spring Boot系列文章 PageHelper 要说MyBatis最常用的分页插件是什么?那一定非PageHelper不可了。 下面是官方的介绍 MyBatis 分页插件 PageHelper 如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。 Spring Boot集成PageHelper 下面,我们就在Spring Boot集成PageHelper 1、pom.xml添加依赖 注意:

qq_36551991的博客 2355

ctfshow---sql注入(171-213)

这里提一句,为什么不直接替换成acb这种,因为,flag原本就有字母,还原的时候会全部都还原成数字的,数字替换成符号应该也是可以的,这边测试了下除了&#好像别的符号都可以。插入查询后查询语句就会变成这样,由于id=11111这是一个不存在的id,而后面1=1又为真,所以会查询到表内所有的内容,--+是注释后面的字符。因为接受username的时候没有用引号,所以接受单纯的数字,而数字和字符比较会转换类型,字符串会变成数字0进行比较,所以相等。

fainpo的博客 1318

别再死记硬背公式了!用Unity ShaderGraph从零实现一个皮肤SSS效果(附完整节点图)

本文详细介绍了如何利用Unity ShaderGraph零代码实现皮肤次表面散射(SSS)效果,包括背光透射(BTDF)和表面散射(BSSRDF)的核心原理与节点构建方法。通过可视化工具,技术美术师和Shader初学者可以直观理解光线在皮肤组织中的散射行为,快速创建真实的皮肤材质效果,适用于游戏角色渲染等场景。

weixin_30838873的博客 590

Pagehelper插件

【代码】Pagehelper插件。

qq_41550996的博客 845

基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文带你从零构建了异步电机SFOC系统​ 的完整Simulink仿真模型,实现了:✅ 搭建异步电机、逆变器、风机负载的主电路与传感器模型;✅ 用MATLAB Function实现定子磁链观测(电压模型)、坐标变换、双闭环PI控制;✅ 验证SFOC在转速跟踪(响应0.2s、超调4%)、转矩响应(恢复0.15s)中的高性能;✅ 对比RFOC,明确SFOC在参数鲁棒性(转子电阻+50%时波动<2%)上的独特优势;✅ 理解SFOC“定子磁链定向+解耦控制”的核心思想(低成本高鲁棒性驱动的工程实现)。

xiaoheshang_123的博客 389

helperdialect mysql_Mybatis使用pageHelper步骤(动态分页)

(说明autoRuntimeDialect=true) 1.在pom.xml中添加如下依赖: com.github.pagehelper pagehelper 最新版本 2.配置拦截器插件,有两种方法: 2.1 在spring的配置文件中配置拦截器插件: helperDialect=mysql reasonable=true supportMethodsArguments=true params=count=countSql autoRuntimeDialect=true 2.2 在mybatis的配置文件

s_156的博客 1894

华为OD技术面真题 - JAVA开发 - 1

汇总华为OD技术面八股JAVA八股,高频技术真题并提供详细解答。

qq_45776114的博客 1197

液态神经网络(Liquid Neural Networks)从线虫大脑到下一代 AI

液态神经网络(Liquid Neural Networks,LNN)是一类具有动态内部结构的神经网络,其灵感来源于生物神经系统,尤其是大脑中神经元如何以复杂、非线性的方式响应外部刺激。与传统神经网络不同,液态神经网络的每个神经元在处理输入时,不再是静态线性或非线性变换,而是基于一个微分方程模型进行响应。这种建模方式使神经元的行为具有时间连续性和动态适应性。换句话说,它不仅“记住”过去的信息,还能根据当前环境实时调整自身的动态特性,这对于感知、决策、预测等任务都非常关键。

hello.reader 7407

SpringBoot 整合Mybatis + PageHelper 实现分页

前言: 现在公司大多数都实现了前后端分离,前端使用Vue、React、AngularJS 等框架,不用完全依赖后端。但是如果对于比较小型的项目,没必要前后端分离,而SpringBoot也基本抛弃了Jsp,使用Thymeleaf模板搭配SpringBoot是个不错的选择。 在展示数据时必然需要大量的分页操作,在使用JPA、Mybatis-Plus等持久层框架时,已经自带分页查询操作,无需手动编写,然而在使用Mybatis作为持久层时,需要手动编写分页操作十分麻烦。PageHelper就是用来在Mybatis

qq_40016971的博客 861

STM32串口控制LED灯的亮灭

STM32中的串口控制LED灯的亮灭,分为两种方式,一种是直接发送数字0和1来控制灯的亮灭,另一种是通过发送字符串来控制。 我所使用的开发板主控芯片是STM32F401RET6,主频84MHz, 首先要进行串口的初始化: /* 函数功能:串口的初始化 函数名:Usart_Init 返回值:无 参数:u32 brr 备注: USART1_TXD->PA9 USART1_RXD->PA10 */ void Usart_Init(u32 brr) { float div; u16 div

博客 2万+

MyBatis笔记(四)SpringBoot整合Mybatis+PageHelper实现分页查询

目录一、背景 一、背景   本文的主要介绍 MyBatis 动态SQL,如果对于MyBatis基本使用不了解的可以参考我上一篇文章: MyBatis笔记(一)Spring Boot整合MyBatis实现增删查改详解(入门版) MyBatis笔记(二)MyBatis参数传递详解 原符号 < <= > >= & ’ " 转义符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot

嘉禾嘉宁papa 6451

SAP-ABAP:SAP信贷管理核心:CL_UKM_BUPA_FACTORY类完整解析与实践指南

SAP信贷管理核心类CL_UKM_BUPA_FACTORY解析 CL_UKM_BUPA_FACTORY是SAP信贷管理(UKM)模块的核心类,作为业务伙伴信贷数据的中央控制台,它提供: 统一入口:标准化实例化客户/供应商信贷对象 主要功能: 获取单条/批量业务伙伴数据 安全保存数据变更 封装底层数据访问逻辑 典型应用场景: 信贷主数据批量维护 自动化限额调整 订单信贷实时检查 性能优化建议: 使用批量方法替代循环单条处理 合理设置字段选择 实施缓存策略 该类通过简洁API简化复杂信贷操作,是SAP信贷管理开

baidu_35680696的博客 1208

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SpringBoot(六)SpringBoot整合MyBatis及PageHelper实现分页查询

SpringBoot(六)SpringBoot整合MyBatis及PageHelper实现分页查询 文章目录SpringBoot(六)SpringBoot整合MyBatis及PageHelper实现分页查询1、基本配置1.1、引入依赖1.2、配置全局配置文件application.properties2、调整代码2.1、StudentInfoDao.xml2.2、StudentInfoDao2.3、封装分页请求和响应实体PageRequestPageResult2.4、Service层的代码StudentI

Jack_David的专栏 1645

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SpringBoot整合Mybatis和PageHelper实现分页查询(含源码)

PageHalper是Mybatis中的一个分页插件,支持众多的数据库,使用很简单 下面介绍SpringBoot整合Mybatis和PageHelper实现分页查询的功能 新建一个SpringBoot项目,项目的结构如下 添加下面的依赖 <dependencies> <dependency> <groupId>org.s...

kangswx的博客 3663

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mybatis实现分页查询_Spring Boot 整合mybatis,如何使用pagehelper实现分页

之前讲了Springboot整合Mybatis,然后介绍了如何自动生成pojo实体类、mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能。接下来要说一说Mybatis 的分页功能:使用Mybatis-PageHelper插件,实现分页功能。一、pagehelper介绍pageHelper是一款非常简单、易用的分页插件,它能很好的集成在spring boot中。它是一个基于...

weixin_31208627的博客 278

SpringBoot 整合 mybatis-pagehelper实现分页

目录问题解决方案1. 引入分页插件依赖2. 配置yml3. 使用分页插件,在查询前使用分页插件,原理:统一拦截sql,为其提供分页功能4. 分页数据封装到PagedGridResult.java传给前端4.1 编写PagedGridResult.java类4.2 分页数据封装到PagedGridResult.java传给前端 问题 使用mybatis实现分页效果 解决方案 1. 引入分页插件依赖 ...

柏~的博客 310

mybatis 分页_Spring Boot 整合mybatis,如何使用pagehelper实现分页

之前讲了Springboot整合Mybatis,然后介绍了如何自动生成pojo实体类、mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能。接下来要说一说Mybatis 的分页功能:使用Mybatis-PageHelper插件,实现分页功能。一、pagehelper介绍pageHelper是一款非常简单、易用的分页插件,它能很好的集成在spring boot中。它是一个基于...

weixin_39874196的博客 288

SpringBoot 整合 Mybatis + pagehelper 实现分页

本文参考: github -pagehelper官方文档 https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md 首先是 pom.xml 添加 pagehelper 的依赖 <dependency> <groupId&g...

weixin_38399962的博客 2573

使用IDEA+Spring Boot整合+Mybatis逆向工程生成代码+PageHelper实现查询结果分页

使用IDEA+Spring Boot整合+Mybatis逆向工程生成代码+PageHelper实现查询结果分页SpringBoot整合MybatisSpringBoot整合Mybatis配置相关参数 用于生成dao层、model层、Mapper映射文件在application.yml配置数据库连接、配置Mapper映射文件PageHelper实现查询结果分页插入其他的知识: SpringBoot整合Mybatis 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mark

luck_sheng的博客 374

druid 多数据源_Spring Boot整合Mybatis ,PageHelper 实现多数据源并分页

来源:cnblogs.com/xuwujing/p/8964927.html前言Druid介绍和使用多数据源配置PageHelper 分页实现结语前言本篇文章主要讲述的是SpringBoot整合Mybatis、Druid和PageHelper 并实现多数据源和分页。其中SpringBoot整合Mybatis这块,在之前的的一篇文章中已经讲述了,这里就不过多说明了。重点是讲述在多数据源下的...

weixin_39877805的博客 151

第三篇:SpringBoot整合Mybatis+PageHelper分页实现增删查改

一、SpringBoot整合Mybatis的步骤如下:  创建Spring Boot项目导入相关依赖Jar包 在IDEA中安装AutoCrud插件用于生成dao层、model层、Mapper映射文件 在application.yml配置数据库连接、配置Mapper映射文件 在Spring Boot启动类上使用@MapperScan(basePackages = {"xxx.dao"} 测...

凯耐的博客 2万+

springboot+thymeleaf+pagehelper实现分页

1.引入依赖 注意:pagehelper使用的是整合springboot的依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version>

JavaSupeMan的博客 776

spring ajax分页插件,SpringBoot整合mybatis结合pageHelper插件实现分页

SpringBoot整合mybatis分页操作SpringBoot整合Mybatis进行分页操作,这里需要使用Mybatis的分页插件:pageHelper,关于pageHelper的介绍,请查看官方文档: https://pagehelper.github.io/1、使用前配置关于pageHelper的使用配置,主要有以下2个步骤:1.1、在pom文件中导入pageHelper依赖com.git...

weixin_29665183的博客 465
上一篇: controller调用service层报错Invalid bound statement (not found)
下一篇: postgre数据库中json及jsonb字段相关操作及函数
沉没成本不参与重大决策
博客等级 码龄7年 35粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值