Mybatis 實現物理分頁的簡單實現


Mybatis 實現物理分頁的簡單實現

分頁查詢:

首先我們要明確什么是分頁?為什么要去分頁?

分頁就是將數據以多頁去展示,使用分頁可以提高客戶的感受。

 

分頁的分類:

1.物理分頁:只從數據庫中查詢當前頁的數據

優點:不占用很多內存   缺點:效率比價低(相比於邏輯分頁)

2.邏輯分頁:從數據庫將所有記錄查詢出來,存儲到內存中,展示當前頁,然后數據再直接從內存中獲取

優點:效率高              缺點:占用內存比較高

 

大多數情況下,我們用的都是物理分頁。

物理分頁:

1.直接用jdbc完成:使用滾動結果集  

優點:跨數據庫     缺點:性能低

2.使用數據庫本身提供的分頁操作:使用每一個數據庫特定的分頁函數

優點:性能高       缺點:不能跨數據庫

 

mysql  :       limit

SQL service: top

oracle:         rownum 

 

我用 都是mysql 所以就說下limit

select * from 表 limit m,n;

m:代表是從第幾條開始(它是從0開始算的)

n:代表查詢幾條記錄

假如我們要顯示3條記錄,要查詢第2頁的數據

那么select * from 表 limit (頁面-1)* 每頁每條,每頁條數;

 

接着我們開始編寫實體類

省略了get\set方法

用語封裝所要的東西 提供給前端

 

接着在所對應的mapper中編寫:

這里要注意:

1.兩個參數 必須要用0,1 不能用名字 會報錯

2.sql是不能做計算的,要把公式算完后再代進去,不然就會報錯

 

編寫service層

 

這里的pageNum是每頁要顯示的條數,一般我們后台自己設置

currentPage是前台傳來的第幾頁

這些我們在控制層模擬下就行 控制層就省略了

 

最終返回頁面的結構就是分頁的結果了

 

pageNum對應的就是當前頁0

然后每頁顯示的條數就是2

其他省略了 查出來后填進去就行

通各位大神分析了mybatis用插件分頁的優缺點

最后還是手動分頁 算是對今天工作的總結吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM