当前位置: 首页 > news >正文

MyBatis 的分页插件 c

前言

大型项目的数据体量很大,在前端界面展示时为保障展示效果,会要求接口快速返回,这时候后端会选择分页获取数据,只传递要查询的页码数据。这就避免了大多问题,达到快速返回的效果。

常用的分页有2种:

①  MyBatis 分页插件:PageHelper。这个插件很常用,支持多数据库分页,无需修改SQL语句即可实现分页功能。

注意:这个插件的功能相当于在你代码中的第一个 SQL 语句的后面加上 LIMIT [offset], [limit] 子句,例如 LIMIT 20, 10 ,表示从21条记录开始,获取10条记录。
这个插件 只会在你的第一条语句后面添加子句 ,如果代码后面还存在其他的 SQL 则会不生效。
如果你使用这个插件获取 UserId 列表,并用该列表进行后续操作,要注意返回的 顺序问题 。

②  PageInfo 类:这是手动分页,适合数据量小的情况,因为需要预先加载所有数据,例如预先加载所有 UserId ,对 UserId 进行划分数量,根据请求的分页参数查询处在不同数量位置的 UserId 。

本文只介绍分页插件 PageHelper ,包括使用的依赖,创建方式,代码示例和验证结果展示等。

分页插件 PageHelper 的依赖导入方式

1. 使用pagehelper 包

添加pagehelper插件的依赖,并还需要定义一个 config 文件。

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.1.3</version>
</dependency>
package com.wen.config;import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;@Configuration
public class MyBatisConfig {// 设置相关的参数信息,下面有对参数的详细解释@Beanpublic PageHelper pageHelper() {PageHelper pageHelper = new PageHelper();Properties properties = new Properties();properties.setProperty("dialect", "Mysql");properties.setProperty("offsetAsPageNum", "true");properties.setProperty("rowBoundsWithCount", "true");pageHelper.setProperties(properties);return pageHelper;}
}// Properties 中需设置的属性值:解释
// 1.  "dialect", "Mysql":不同数据库的SQL语句不同,这里指定了数据库语言为Mysql
// 2.  "offsetAsPageNum", "true":这个属性通常用于指定是否将传入的 offset 参数当作 pageNum 页码使用。
// ① 设置为 true,意味着如果分页查询时传递了offset偏移量,PageHelper会将其视为页码来处理。
// ② 非必需,因为 PageHelper 默认就是使用页码 pageNum 和每页记录数 pageSize 来进行分页的。
// 3.  "rowBoundsWithCount", "true":该属性用于指定是否进行 count 查询以获取总记录数。
// 在分页查询时,需要知道总记录数,它可以让你在前端展示总页数或总记录数。
// 设置为 true 表示 PageHelper 在执行分页查询时,会先执行一个 count 查询来获取总记录数。

相关文章:

MyBatis 的分页插件 c

前言 大型项目的数据体量很大&#xff0c;在前端界面展示时为保障展示效果&#xff0c;会要求接口快速返回&#xff0c;这时候后端会选择分页获取数据&#xff0c;只传递要查询的页码数据。这就避免了大多问题&#xff0c;达到快速返回的效果。 常用的分页有2种&#xff1a; …...

网络安全-等级保护(等保) 2-5 GB/T 25070—2019《信息安全技术 网络安全等级保护安全设计技术要求》-2019-05-10发布【现行】

################################################################################ GB/T 22239-2019 《信息安全技术 网络安全等级保护基础要求》包含安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心、安全管理制度、安全管理机构、安全管理人员、安…...

嵌软面试每日一阅----FreeRTOS

一. FreeRTOS 创建任务的方法及区别 在 FreeRTOS 中&#xff0c;任务创建主要有两种方式&#xff1a;动态内存分配&#xff08;xTaskCreate()&#xff09;和静态内存分配&#xff08;xTaskCreateStatic()&#xff09;。以下是两者的核心区别及使用场景&#xff1a; 1. 动态创建…...

EasyExcel详解

文章目录 一、easyExcel1.什么是easyExcel2.easyExcel示例demo3.easyExcel read的底层逻辑~~4.easyExcel write的底层逻辑~~ 二、FastExcel1.为什么更换为fastExcel2.fastExcel新功能 一、easyExcel 1.什么是easyExcel 内容摘自官方&#xff1a;Java解析、生成Excel比较有名的…...

023-C语言预处理详解

C语言预处理详解 文章目录 C语言预处理详解1. 预定义符号2. #define定义常量3. #define定义宏4. 带有副作用的宏参数5. 宏替换的规则6. 宏函数的对比7. #和##7.1 #运算符7.2 ##运算符 8. 命名约定9. #undef10. 命令行定义11. 条件编译12. 头文件包含12.1 头文件被包含方式12.1.…...

C#自定义控件-实现了一个支持平移、缩放、双击重置的图像显示控件

1. 控件概述 这是一个继承自 Control 的自定义控件&#xff0c;主要用于图像的显示和交互操作&#xff0c;具有以下核心功能&#xff1a; 图像显示与缩放&#xff08;支持鼠标滚轮缩放&#xff09;图像平移&#xff08;支持鼠标拖拽&#xff09;视图重置&#xff08;双击重置…...

MarkitDown:AI时代的文档转换利器

在当今AI快速发展的时代,如何高效地将各种格式的文档转换为机器可读的格式,成为了一个迫切需要解决的问题。今天,我们来介绍一款由微软开发的强大工具——MarkitDown,它正是为解决这一问题而生的。 什么是MarkitDown? MarkitDown是一个用Python编写的轻量级工具,专门用…...

《数字分身进化论:React Native与Flutter如何打造沉浸式虚拟形象编辑》

React Native&#xff0c;依托JavaScript语言&#xff0c;借助其成熟的React生态系统&#xff0c;开发者能够快速上手&#xff0c;将前端开发的经验巧妙运用到移动应用开发中。它通过JavaScript桥接机制调用原生组件&#xff0c;实现与iOS和Android系统的深度交互&#xff0c;这…...

DeerFlow:字节新一代 DeepSearch 框架

项目地址&#xff1a;https://github.com/bytedance/deer-flow/ 【全新的 Multi-Agent 架构设计】独家设计的 Research Team 机制&#xff0c;支持多轮对话、多轮决策和多轮任务执行。与 LangChain 原版 Supervisor 相比&#xff0c;显著减少 Tokens 消耗和 API 调用次数&#…...

数字孪生工厂实战指南:基于Unreal Engine/Omniverse的虚实同步系统开发

引言&#xff1a;工业元宇宙的基石技术 在智能制造2025与工业元宇宙的交汇点&#xff0c;数字孪生技术正重塑传统制造业。本文将手把手指导您构建基于Unreal Engine 5.4与NVIDIA Omniverse的实时数字孪生工厂系统&#xff0c;集成Kafka实现毫秒级虚实同步&#xff0c;最终交付…...

牛客网NC22015:最大值和最小值

牛客网NC22015&#xff1a;最大值和最小值 题目描述 题目要求 输入&#xff1a;一行&#xff0c;包含三个整数 a, b, c &#xff08;1≤a,b,c≤1000000&#xff09; 输出&#xff1a;两行&#xff0c;第一行输出最大数&#xff0c;第二行输出最小数。 样例输入&#xff1a; …...

Uniapp中小程序调用腾讯地图(获取定位地址)

1、先配置权限&#xff1a; 这是上图的代码&#xff1a; "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置接口的效果展示" } } 第二步&#xff1a;写代码&#xff1a; //下面是uniapp的模版代码 主…...

2025 后端自学UNIAPP【项目实战:旅游项目】5、个人中心页面:微信登录,同意授权,获取用户信息

一、框架以及准备工作 1、前端项目文件结构展示 2、后端项目文件结构展示 3、登录微信公众平台&#xff0c;注册一个个人的程序&#xff0c;获取大appid&#xff08;前端后端都需要&#xff09;和密钥&#xff08;后端需要&#xff09; 微信公众平台微信公众平台&…...

隆重推荐(Android 和 iOS)UI 自动化工具—Maestro

文章目录 前言一、为什么选择 Maestro&#xff1f;二、使用步骤1.安装&#xff08;Windows&#xff09;2.运行示例 三、Maestro Studio &#xff08;重点&#xff09;轻松编辑测试 四、价格总结 前言 当前移动 UI 自动化工具的实际效能与预期存在显著差距&#xff0c;团队推行…...

C#发送文件到蓝牙设备

测试环境&#xff1a; visual studio 2022 win11笔记本电脑&#xff0c;具有蓝牙功能 .net6控制台 测试步骤如下&#xff1a; 1 新增名为BluetoothDemo控制台项目 2 通过nuget安装InTheHand.Net.Bluetooth&#xff0c;版本选择4.2.1和安装InTheHand.Net.Obex&#xff0c;版…...

采用sherpa-onnx 实现 ios语音唤起的调研

背景 项目中需要实现一个语音唤起的功能&#xff0c;选择sherpa-onnx进行调研&#xff0c;要求各端都要验证没有问题。个人负责ios这部分的调研。查询官方发现没有直接针对ios语音唤起的稳定&#xff0c;主要技术平台也没有相关的可以借鉴。经过调研之后补充了一个。 一、下载…...

磁盘I/O瓶颈排查:面试通关“三部曲”心法

想象一下&#xff0c;你就是线上系统的“交通调度总指挥”&#xff0c;服务器的磁盘是所有数据进出的“核心枢纽港口”。当这个“港口”突然拥堵不堪&#xff0c;卡车&#xff08;数据请求&#xff09;排起长龙&#xff0c;进不去也出不来&#xff0c;整个系统的“物流”&#…...

磁盘性能测试与分析:结合fio和iostat的完整方案

磁盘性能测试与分析&#xff1a;结合fio和iostat的完整方案 磁盘性能是影响现代计算机系统整体运行效率的关键因素之一&#xff0c;特别是对于高I/O负载的应用如数据库、虚拟化环境等。本文将详细介绍如何利用fio和iostat工具全面评估磁盘性能&#xff0c;包括IOPS、带宽、延迟…...

随机森林(Random Forest)

随机森林&#xff08;Random Forest&#xff09;是一种基于决策树的集成学习算法&#xff0c;它通过构建多个决策树并将它们的预测结果进行综合&#xff0c;从而提高模型的准确性和稳定性。 1.基本原理 随机森林属于集成学习中的“Bagging”方法。其核心思想是通过构建多个决…...

C#数据类型

&#x1f9e9; 一、布尔值&#xff08;bool&#xff09; 表示逻辑值&#xff1a;true 或 false bool isTrue true; bool isFalse false;&#x1f4cc; 二、整数&#xff08;Integer Types&#xff09; C# 支持多种有符号和无符号整数类型&#xff1a; 类型大小范围sbyte8…...

FastAPI 实现 Express 框架的 p-limit(1) 防并发操作

背景 以下是将 Electron 主进程中的 CURD 逻辑&#xff08;Express 实现&#xff09;迁移到 FastAPI 的完整方案&#xff0c;包含技术选型、实现步骤和注意事项&#xff0c;确保主进程与子进程解耦且稳定运行&#xff1a; 关键点 注意用 conda 安装 python 版本时&#xff0c…...

STC8H系列单片机STC8H_H头文件功能注释

#ifndef __STC8H_H__ // 条件编译:如果未定义__STC8H_H__宏 #define __STC8H_H__ // 则定义该宏,防止头文件被重复包含 / //包含本头文件后,不用另外再包含"REG51.H" // 提示:本头文件已包含基本寄存器定义 sfr P0 = …...

C#中BackgroundWorker的概念与用法详解

一、BackgroundWorker 概念 BackgroundWorker 是 C# 中用于在后台线程中运行操作的组件&#xff0c;它允许你在不影响用户界面&#xff08;UI&#xff09;响应能力的情况下执行耗时操作。 它位于 System.ComponentModel 命名空间内&#xff0c;主要用于 Windows 窗体应用程序中…...

RM算法的地下宫殿

证&#xff1a; X n 1 X n β n ( ξ n − X n ) ( 1 − β n ) X n β n ξ n X_{n1}X_n\beta_n(\xi_n-X_n)(1-\beta_n)X_n\beta_n\xi_n Xn1​Xn​βn​(ξn​−Xn​)(1−βn​)Xn​βn​ξn​。由数学归纳法可得 X n 1 ∑ j 1 n ξ j β j ∏ i j n − 1 ( 1 − β…...

WEB安全--Java安全--LazyMap_CC1利用链

一、前言 该篇是基于WEB安全--Java安全--CC1利用链-CSDN博客的补充&#xff0c;上篇文章利用的是TransformedMap类&#xff0c;而CC链的原作者是利用的LazyMap类作为介质进行的触发。 所以本文将分析国外原作者在ysoserial commonscollections1中给出的CC1利用链。 二、回顾梳…...

【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

文章目录 一、软件安装1.1 系统配置要求1.2 安装 二、新版功能探索2.1 界面图标和深色主题2.2 MATLAB Copilot AI助手2.3 绘图区升级2.4 simulink2.5 更多 延迟一个月&#xff0c;终于发布了&#x1f92d;。 一、软件安装 1.1 系统配置要求 现在的电脑都没问题&#xff0c;老…...

[网络升级指南] 服务器网卡/带宽如何选?1GbE vs 10GbE vs 25GbE+ 性能与成本深度解析 (2025)

更多服务器知识&#xff0c;尽在hostol.com 嘿&#xff0c;各位服务器“舰长”们&#xff01;当你为你的“星际飞船”&#xff08;服务器&#xff09;配备了顶级的 CPU“引擎”、超大的内存“能源核心”、以及光速 SSD“曲速引擎”之后&#xff0c;是不是觉得它就能在数字宇宙…...

Nginx与Tomcat负载均衡集群配置指南

目录 一、资源清单 二、基础环境 三、安装配置Tomcat 四、安装配置Nginx 一、资源清单 主机 操作系统 IP地址 tomcat1 OpenEuler24.03 192.168.16.142 tomcat2 OpenEuler24.03 192.168.16.143 Nginx OpenEuler24.03 192.168.16.144 二、基础环境 hostnamectl …...

已解决(亲测有效!):安装部署Docker Deskpot之后启动出现Docker Engine Stopped!

文章目录 已解决&#xff1a;安装部署Docker Deskpot之后启动出现Docker Engine Stopped&#xff01;个人环境介绍自己的解决问题思路&#xff08;详细过程附截图&#xff09;1.打开控制面板2.点击程序和功能3.点击启动或关闭windows功能4.Hyper-V5.右键菜单栏的windows图标点击…...

C++多态实现的必要条件剖析

在C中&#xff0c;多态的一个必要条件确实是通过基类的指针或引用调用虚函数。这一要求背后的原因与C如何实现动态绑定&#xff08;运行时多态&#xff09;密切相关。下面详细解释了为什么需要使用基类的指针或引用来实现多态。 动态绑定与静态绑定 静态绑定&#xff08;编译期…...

25.5.15

没有比水题更令人开心的事情了 典型的并查集题目&#xff0c;并查集分为并和查&#xff0c;并就是把有关系的父亲根结点设为同一个&#xff0c;查就是在成功构造后对其进行查询 查通过递归实现 if (x f[x])return x; return f[x] find(f[x]); 由于并查集的特点&#xff0…...

WebSocket:实时通信(如聊天应用)从零到一的深度解析

简介 在现代互联网应用中,实时通信已成为不可或缺的核心功能。从在线聊天到金融数据监控,从协同办公到在线游戏,实时性需求推动了WebSocket技术的广泛应用。本文将从底层协议原理出发,结合企业级开发场景,系统讲解WebSocket的实现机制、实战技巧与优化策略。通过完整的代…...

二程运输的干散货船路径优化

在二程运输中,干散货船需要将货物从一个港口运输到多个不同的目的地港口。路径优化的目标是在满足货物运输需求、船舶航行限制等条件下,确定船舶的最佳航行路线,以最小化运输成本、运输时间或其他相关的优化目标。 影响因素 港口布局与距离:各个港口之间的地理位置和距离…...

【Java ee初阶】http(1)

HTTP 全称为“超文本传输协议”&#xff0c;由名字可知&#xff0c;这是一个基于文本格式的协议&#xff0c;而TCP&#xff0c;UDP&#xff0c;以太网&#xff0c;IP...都是基于二进制格式的协议。 如何区别该协议是基于哪种格式的协议&#xff1f; 形如这种协议格式&#xf…...

《Deepseek从入门到精通》清华大学中文pdf完整版

资源介绍&#xff1a; 《DeepSeek&#xff1a;从入门到精通》是由清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室的精心撰写的一份专业文档。该文档以通俗易懂的方 式&#xff0c;全面介绍了DeepSeek的使用方法&#xff0c;为用户提供了极具价值的指导。 这份文档内容丰…...

【图片识别工具】批量单据识别批量重命名,批量OCR识别图片文字并重命名,批量改名工具的使用步骤和注意事项

一、适用场景 ​​财务与发票管理​​&#xff1a;企业需处理大量电子发票或扫描件&#xff0c;通过OCR识别发票代码、金额等关键信息&#xff0c;自动重命名为发票号_金额.pdf格式&#xff0c;便于归档与税务审计。 ​​物流单据处理​​&#xff1a;物流公司需从运单中提取单…...

重磅发布!OpenAI 推出最新模型 GPT-4.1 系列!

今日凌晨&#xff0c;OpenAI宣布开放全新模型GPT-4.1&#xff0c;并于即日起在ChatGPT中投入使用。 超长上下文与卓越编码能力 GPT-4.1作为OpenAI的最新模型&#xff0c;支持长达100万tokens的上下文&#xff0c;是OpenAI首次发布的长窗口模型。相较于前代&#xff0c;GPT-4.1…...

游戏引擎学习第281天:在房间之间为摄像机添加动画效果

回顾并为今天的内容定下基调 这次我们要继续深入处理实体系统。在前一阶段对实体系统做了一些很酷的改动&#xff0c;但现在到了要认真面对和完善它的时候。 今天的主要目标是修复并优化摄像机在房间之间移动时的逻辑。在上一次的实现中&#xff0c;我们重新启用了基于房间的…...

机器学习 --- 模型选择与调优

机器学习 — 模型选择与调优 文章目录 机器学习 --- 模型选择与调优一&#xff0c;交叉验证1.1 保留交叉验证HoldOut1.2 K-折交叉验证(K-fold)1.3 分层k-折交叉验证Stratified k-fold 二&#xff0c;超参数搜索三&#xff0c;鸢尾花数据集示例四&#xff0c;现实世界数据集示例…...

PostgreSQL pgrowlocks 扩展详解

一、简介 pgrowlocks 是 PostgreSQL 官方提供的扩展模块&#xff0c;用于查看指定表中每一行当前的行级锁&#xff08;Row Lock&#xff09;信息。它非常适用于&#xff1a; 并发冲突排查行级锁等待分析死锁前兆探测热点数据行分析 二、安装与启用 1. 安装前提&#xff08;…...

Makefile 详解

Makefile 是一个用于自动化构建过程的脚本文件&#xff0c;主要用于管理源代码的编译和链接过程。它定义了项目中的依赖关系以及如何从源文件生成目标文件。 基本概念 Make&#xff1a;一个构建自动化工具&#xff0c;读取 Makefile 中的指令目标(Target)&#xff1a;要生成的…...

IntelliJ IDEA 集成AI编程助手全解析:从Copilot到GPT-4o Mini的实践

目录 AI编程助手的演进与核心价值GitHub Copilot深度集成指南国产新星DeepSeek配置实战GPT-4o Mini低成本接入方案三大助手对比与场景适配企业级安全与本地化部署未来发展趋势与开发者启示1. AI编程助手的演进与核心价值 1.1 技术演进图谱 #mermaid-svg-LwYPrW2Y2Pqvqgf0 {fon…...

wps excel将表格输出pdf时所有列在一张纸上

记录&#xff1a;wps excel将表格输出pdf时所有列在一张纸上 1&#xff0c;调整缩放比例 2&#xff0c;将表格的所有铺满到这套虚线...

【开源Agent框架】OWL:面向现实任务自动化的多智能体协作框架深度解析

一、基本介绍 1.1 项目概述 OWL(Optimized Workforce Learning)是基于CAMEL-AI框架构建的创新型多智能体协作系统,旨在通过动态智能体交互实现复杂任务的自动化处理。项目在GAIA基准测试中以69.09的平均分位列开源框架榜首,展现了强大的任务处理能力。 技术特性矩阵: 多…...

120页WORD方案 | 2025企业数字化转型AI大模型数字底座项目设计方案

这份文档是一份关于企业数字化转型AI大模型数字底座项目的设计方案&#xff0c;涵盖了从项目概述、业务需求分析到技术架构设计等多个方面。它详细阐述了企业为何需要构建AI大模型底座&#xff0c;以及如何通过这一底座实现智能化决策支持、业务流程优化和客户体验提升。方案中…...

Vue3 本地环境 Vite 与生产环境 Nginx 反向代理配置方法汇总【反向代理篇】

文章目录 一、前言二、问题场景三、开发环境配置&#xff08;Vite&#xff09;四、生产环境配置&#xff08;Nginx&#xff09;4.1 初始错误配置4.2 正确配置方案4.3 配置解析4.4高级配置选项 五、常见问题排查六、开发环境 vs 生产环境对比七、总结 一、前言 在前后端分离架构…...

机器视觉对位手机中框点胶的应用

在手机制造的精密世界里&#xff0c;每一个环节都关乎着产品的最终品质&#xff0c;而手机中框点胶工艺更是其中关键一环。点胶不仅起到固定内部组件、增强结构强度的作用&#xff0c;还影响着手机的防水、防尘性能。然而&#xff0c;随着手机设计日益轻薄化、复杂化&#xff0…...

Elasticsearch性能调优全攻略:从日志分析到集群优化

#作者&#xff1a;猎人 文章目录 前言搜索慢查询日志索引慢写入日志性能调优之基本优化建议性能调优之索引写入性能优化提升es集群写入性能方法&#xff1a;性能调优之集群读性能优化性能调优之搜索性能优化性能调优之GC优化性能调优之路由优化性能调优之分片优化 前言 es里面…...

Electron 主进程中使用Worker来创建不同间隔的定时器实现过程

背景 目前主进程使用 timer.setInterval 来做间隔任务执行&#xff0c;但是总有用户反馈养号卡主不执行了&#xff0c;或者某个操作不执行了&#xff0c;为了排除主进程的运行造成 setInterval 阻塞可能&#xff0c;将 setInterval 单独处理&#xff0c;可以排除主进程对定时器…...

用户安全架构设计

一、主动踢出&#xff0c;被动踢出 二、密码设计策略&#xff1a;密码复杂度&#xff0c;密码安全检查&#xff0c;密码失效设计&#xff0c;账号锁定设计&#xff0c;密码存储和传输加密 三、密码找回策略&#xff1a;密保问题&#xff0c;下行短信验证码&#xff0c;上行短信…...