Mybatis的PageHepler用法

news2024/11/23 12:55:39

分页原理

分页在使用时的分类

物理分页:
在操作数据库中的表时,sql语句中使用了limit ?,?,此时sql语句返回的结果是分页结果
逻辑分页:
依赖程序的代码,其原理为:通过sql语句将数据库表中的所有数据都查询出,之后将数据保存在内存中,最终要显示的数据若涉及到分页,到内存中去查找数据返回.通过以上原理得出,逻辑分页在对数据库表的操作上没有limit

物理分页和逻辑分页的区别?

数据库压力:
物理分页对数据库查询操作次数多,数据库压力会更大点,相对而言,逻辑分页对数据库的压力会小
对服务器的压力:
物理分页对服务器的压力相对而言较小,逻辑分页因为要在内存存储大量数据,对服务器压力会大

什么情况应该选择哪种分页?

物理分页:数据量大,数据稳定性差时使用,来实现实时更新数据
逻辑分页:数据量小,数据稳定性高时使用,此时可以使用逻辑分页

实际工作中分页的实现:PageInfo

通常会使用插件:目前市面上使用率较高的是mybatis的插件PageHelper

PageHelper的使用:

需要导入该插件的依赖

在代码中使用PageHelper的api方法实现分页
在这里插入图片描述

使用pageInfo和不使用pageInfo的区别

使用PageInfo对象,可以方便地封装分页信息,包括总记录数、当前页码、每页显示记录数等。同时,PageInfo对象也提供了一些便捷的方法,如获取总页数、是否是第一页、是否是最后一页等等,极大地提升了分页查询的开发效率。如果不使用PageInfo对象,那么在进行分页查询时,需要手动计算分页信息,包括总记录数、总页数、当前页码、每页显示记录数等,这样会增加代码复杂度和开发难度。同时,在返回查询结果时,也需要手动将分页信息封装到返回对象中,较为繁琐。因此,使用PageInfo对象可以更加方便地进行分页查询和返回分页信息,提升开发效率,减少出错的可能性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/494852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java企业级信息系统开发01—采用spring配置文件管理bean

文章目录 一、Web开发技术二、spring框架(一)spring官网(二)spring框架优点(三)Spring框架核心概念1、IoC(Inversion of Control)和容器2、AOP(Aspect-Oriented Programm…

Golang 包使用注意事项

1)在给一个文件打包时,该包对应一个文件夹,比如这里的utils文件夹对应的包名就是utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。 2)当一个文件要使用其它包函数或变量时,需要…

【AI聊天 | GPT4教学】 —— 微软 New Bing GPT4 申请与使用保姆级教程(免魔法)

目录 认识 New Bing 1. 下载 Microsoft Edge 浏览器 2. 注册并登录 Microsoft 账号 3. 如何免科学上网使用 New Bing? 4. 加入 WaitList 候补名单 5. 使用 New Bing! 6. 使用 Skype 免科学上网访问 New Bing! 7. 在 Chrome 浏览器中使…

gpt人工智能详细介绍

chatgpt人工智能怎么下载 OpenAI ChatGPT不是一款普通的软件,它是由OpenAI开发的一款基于人工智能技术的自然语言生成器。因此,它并不需要像普通软件一样下载和安装在您的计算机上。 作为一个云端服务,OpenAI ChatGPT可以通过您的浏览器直接…

HBASE入门 基本shell命令(一)

一、登录连接shell $HBASE_HOME/bin/hbase shell二、基本命令 2.1help命令 help创建命名空间 create_namespace bigdata;查看命名空间 list_namespace命名空间default和habase是系统自带的 三、DDL 3.1创建表 create bigdata:student, {NAME > name, VERSIONS> 5}…

每日学术速递5.6

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.AG3D: Learning to Generate 3D Avatars from 2D Image Collections 标题:AG3D:学习从 2D 图像集合生成 3D 头像 作者:Zijian Dong, Xu Chen, …

Amper Music:AI创意音乐工具

【产品介绍】 Amper Music 是一家位于美国纽约的人工智能音乐技术公司,成立于2014年。 Amper Music是一个AI创意音乐工具,能让任何人为自己的内容制作原创音乐。无论你需要为视频、播客或互动内容配乐,Amper Music都能提供一个简单而强大的解…

【PHP在线定制商城网站源码V3.0】开源的DIY在线定制商城系统+在线礼品定制

源码下载:https://download.csdn.net/download/m0_66047725/87637177 PHP在线定制商城网站源码,免费开源、免费下载。本商城基于mycncart开发。安装成功后即可浏览,你可以在后台->安装扩展功能上传安装插件,在代码调整中点击刷…

【边缘设备】yolov5训练与rknn模型导出并在RK3588部署(亲测有效)

保姆级教程,看这一篇就够用了 环境准备 将宿主机和开发板接入同一个局域网,方便开发。 宿主机 PC电脑,x86_64, 带显卡, 配置不表, 能训练和开发即可。系统: ubuntu 22.04 LTS 版本( ubuntu 18.04 LTS 以上)自带的远程软件&…

windeployqt工具打包C++ QT项目

目录 前言方法TIP 前言 使用VS编写好QT项目后,有时需要发送给他人进行测试。在此情况下,发送所有项目文件显然不可取,因为exe文件不能独立运行,故在测试前需要先配置项目环境,以确保运行所需的库文件能够完全。 因此&…

《操作系统》——计算机系统概述

前言: 在之前的【Linux】学习中,我们已经对常见指令已经开发工具等进行了详细的了解。紧接着,我们将要学习的便是关于【Linux进程】的基本知识。但是为了帮助大家更好的理解相关的知识概念,我先带领大家来学习关于《操作系统》这…

【SpringMVC】| 拦截器 | 跨域请求 | 原理详解 | 代码实操

目录 一. 🦁 前言二. 🦁 拦截器 & 跨域请求1. 拦截器Ⅰ. 拦截器和过滤器(Filter)的区别Ⅱ. 拦截器的使用步骤1. 创建SpringBoot项目,添加Spring Web依赖2. 创建控制器方法3. 创建拦截器类4. 编写JSP页面5. 配置Interceptor核心配置类6. 拦…

《理想国》读书感悟

第一卷 话题从年老谈到财富,引出了雪蒙拿的正义观:欠债还钱是正义,从而提出了“正义是什么”的探讨。 辩论中正义定义的演变: 实话实说欠债还债是正义(商人的视角)。报朋友以善,报敌人以恶是…

Springboot JSR303校验是怎么回事?

概述: 在做项目的过程中,除了要在前端进行数据校验外,服务端也必须做相应的校验,因为高手可绕过前端的校验,直接进入服务端调用相关的方法,进行资料的盗取或破坏。在前端如果使用VueElementUI的方式&#…

基于SpringBoot3从零配置SpringDoc

为了方便调试,更好的服务于前后端分离式的工作模式,我们给项目引入Swagger。 文章目录 1. SpringFox2. SpringDoc2.1 引入依赖2.2 配置文件2.3 语法2.4 使用示例Tag 用于标识controllerOperation 用于标识方法Schema 用于标识实体类和实体类的属性ApiRes…

Unity Nsight Graphcis 使用

前言 在渲染Profile中,大家经常喜欢使用Renderdoc软件, 之前我的一篇博客也介绍Renderdoc Profile渲染的流程 RenderDoc Debug UE4 Shader_ue4 debug shader_带帯大师兄的博客-CSDN博客 Renderdoc适合查看Draw哪一步出差了,导致效果不符合理想&#xf…

webpack : 无法加载文件 D:\...\node-v18.16.0-win-x64\webpack.ps1,因为在此系统上禁止运行脚本

用idea打开项目时,安装webpack打包的包之后,由于组策略问题拒绝执行脚本 解决方法 1、cmd打开命令行。输入:powershell 出现 PS 证明已经进入组策略模式 2、输入:get-executionpolicy,查看策略 ​ 输入&#xff1a…

浅谈线程池

浅谈线程池 1、线程池 1.1、线程池介绍 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程…

Golang每日一练(leetDay0057) 缺失区间、最大间距

目录 163. 缺失的区间 Missing Ranges 🌟🌟 164. 最大间距 Maximum Gap 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏…

空闲任务与阻塞延时(笔记)

目录 前言 空闲任务实现空闲任务1、定义空闲任务栈2、定义空闲任务的任务控制块4、定义空闲任务主体 实现阻塞延时vTaskDelay()函数任务与空闲任务切换的例子:vTaskSwitchContext()函数SysTick中断服务函数更新系统时基 SysTick初始化函数实验仿真 前言 软件延时是…