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 查詢來獲取總記錄數。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83168.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83168.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83168.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux:理解文件系統

1.理解硬件 1.1磁盤 機械磁盤是計算機中的?個機械設備 磁盤--- 外設 慢 容量?&#xff0c;價格便宜 1.2磁盤物理結構 1.3磁盤的存儲結構 扇區&#xff1a;是磁盤存儲數據的基本單位&#xff0c;512字節&#xff0c;塊設備 如何定位?個扇區呢&#xff1f; 確定磁頭要訪…

用 openssl 測試 tls 連接

以 baidu 為例&#xff0c;命令行為&#xff1a; openssl s_client -tlsextdebug -connect baidu.com:443 得到的輸出為&#xff1a; CONNECTED(00000003) TLS server extension "renegotiation info" (id65281), len1 0000 - 00 …

今日行情明日機會——20250515

上證指數縮量收陰線&#xff0c;個股跌多漲少&#xff0c;上漲波段4月9日以來已有24個交易日&#xff0c;時間周期上處于上漲末端&#xff0c;注意風險。 深證指數縮量收陰線&#xff0c;日線上漲結束的概率在增大&#xff0c;注意風險。 2025年5月15日漲停股主要行業方向分…

Axure RP9:列表新增

文章目錄 列表新增思路新增按鈕操作說明保存新增交互設置列表新增 思路 利用中繼器新增行實現列表新增功能 新增按鈕操作說明 工具欄中添加新增圖標及標簽,在圖標標簽基礎上添加熱區;對熱區添加鼠標單擊時交互事件,同步插入如下動作:顯示/隱藏動作,設置目標元件為新增窗…

ArcGIS Pro調用多期歷史影像

一、訪問World Imagery Wayback&#xff0c;基本在我國范圍 如下圖&#xff1a; 二、 放大到您感興趣的區域 三、 查看影像版本信息 點擊第二步的按鈕后&#xff0c;便可跳轉至World Imagery (Wayback 2025-04-24)的相關信息。 四 、點擊上圖影像版本信息&#xff0c;頁面跳轉…

提高成功率!課題中的立項依據深度寫作

1. 戰略定位&#xff1a;在宏觀愿景中界定課題坐標 立項依據的第一重任務&#xff0c;是回答“為什么要做”——但這一問并非局限于學術好奇&#xff0c;而要升維到國家戰略、行業痛點與學科前沿的交匯點。教師在申報時&#xff0c;應先掃描上位政策&#xff08;如國家中長期科…

【FileZilla】Client端的線程模型 (一)

CMainFrame構造---》CFileZillaEngineContex構造--》引起其成員變量lmpl構造--》引起fz::event_loop的構造&#xff0c;其中創建了兩個線程(指針) task_和 timer_task_。 // In event_loop.cpp event_loop::event_loop(thread_pool & pool): sync_(false) {task_ std::ma…

什么是Agentic AI(代理型人工智能)?

什么是Agentic AI&#xff08;代理型人工智能&#xff09;&#xff1f; 一、概述 Agentic AI&#xff08;代理型人工智能&#xff09;是一類具備自主決策、目標導向性與持續行動能力的人工智能系統。與傳統AI系統依賴外部輸入和顯式命令不同&#xff0c;Agentic AI在設定目標…

Windows平臺OpenManus部署及WebUI遠程訪問實現

前言&#xff1a;繼DeepSeek引發行業震動后&#xff0c;Monica.im團隊最新推出的Manus AI 產品正席卷科技圈。這款具備自主思維能力的全能型AI代理&#xff0c;不僅能精準解析復雜指令并直接產出成果&#xff0c;更顛覆了傳統人機交互模式。盡管目前仍處于封閉測試階段&#xf…

Springboot3自定義starter筆記

場景&#xff1a;抽取聊天機器人場景&#xff0c;它可以打招呼。 效果&#xff1a;任何項目導入此 starter 都具有打招呼功能&#xff0c;并且問候語中的人名需要可以在配置文件中修改。 創建自定義 starter 項目&#xff0c;引入 spring-boot-starter 基礎依賴。 <dependen…

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 …

【數據處理】xarray 數據處理教程:從入門到精通

目錄 xarray 數據處理教程&#xff1a;從入門到精通一、簡介**核心優勢** 二、安裝與導入1. 安裝2. 導入庫 三、數據結構&#xff08;一&#xff09;DataArray&#xff08;二&#xff09; Dataset&#xff08;三&#xff09;關鍵說明 四、數據操作&#xff08;一&#xff09;索…

網站漏洞存在哪些危害,該如何做好預防?

網站漏洞的危害及預防措施 一、網站漏洞的主要危害 網站漏洞是攻擊者利用系統、應用或配置中的缺陷&#xff0c;實施惡意行為的入口。其危害包括但不限于以下方面&#xff1a; 數據泄露與隱私侵犯 危害&#xff1a;攻擊者通過SQL注入、XSS等漏洞竊取用戶數據&#xff08;如密…

WEB攻防-PHP漏洞解析

Web攻防之PHP漏洞解析 目錄結構 引言 1.1 PHP在CTF Web方向的核心地位1.2 報告目標與結構說明1.3 PHP安全研究的方法論代碼執行漏洞 2.1 漏洞原理與歷史演進2.2 危險函數全解析與利用鏈2.3 繞過過濾的20種高級技巧2.4 實戰案例&#xff1a;從CVE到CTF賽題復現2.5 防御方案與安…

YOLO11解決方案之距離計算探索

概述 Ultralytics提供了一系列的解決方案&#xff0c;利用YOLO11解決現實世界的問題&#xff0c;包括物體計數、模糊處理、熱力圖、安防系統、速度估計、物體追蹤等多個方面的應用。 測量兩個物體之間的間距被稱為特定空間內的距離計算&#xff0c;YOLO11使用兩個邊界框的中心…

mongodb處理時區轉換問題

1. 程序查詢直接使用&#xff08;java&#xff09;Date即可, 因為直接支持 2. 若方便查看日期需要進行格式和時區轉換 db.task.aggregate([{ $match: {userId: 113633}},{ $project: {userId: 1,endTime: 1,formattedDate: {$dateToString: {format: "%Y-%m-%d %H:%M:%S&…

基于中心點預測的視覺評估與可視化流程

基于中心點預測的視覺評估與可視化流程 基于中心點預測的視覺評估與可視化流程一、腳本功能概覽二、可視化與評分機制詳解1. 真實框解析2. 調用模型處理幀3. 預測中心點與真實值的對比4. 打分策略5. 圖像可視化三、目錄結構要求四、運行方式五、應用場景與拓展思路六、總結七,…

Comparator 比較器

在Java中&#xff0c;Comparator.comparingInt(String::length) 是一個用于創建比較器&#xff08;Comparator&#xff09;的靜態方法調用&#xff0c;它的核心作用是定義一個比較規則&#xff0c;使對象按照特定屬性&#xff08;這里是字符串長度&#xff09;進行比較。下面從…

無人設備遙控器之無線通訊技術篇

無人設備遙控器的無線通訊技術是確保遙控操作準確、穩定、高效進行的關鍵。以下是對無人設備遙控器無線通訊技術的詳細解析&#xff1a; 一、主要無線通訊技術類型 Wi-Fi通訊技術 原理&#xff1a;基于IEEE 802.11標準&#xff0c;通過無線接入點&#xff08;AP&#xff09;…

Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(七)

Android Coli 3 ImageView load two suit Bitmap thumb and formal&#xff0c;Kotlin&#xff08;七&#xff09; 在 Android Coli 3 ImageView load two suit Bitmap thumb and formal&#xff0c;Kotlin&#xff08;六&#xff09;-CSDN博客 的基礎上改進&#xff0c;主要是…