分頁查詢:
首先我們要明確什麼是分頁?為什麼要去分頁?
分頁就是將資料以多頁去展示,使用分頁可以提高客戶的感受。
分頁的分類:
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方法
用語封裝所要的東西 提供給前端
這裡要注意:
1.兩個引數 必須要用0,1 不能用名字 會報錯
2.sql是不能做計算的,要把公式算完後再代進去,不然就會報錯
編寫service層
這裡的pagenum是每頁要顯示的條數,一般我們後台自己設定
currentpage是前台傳來的第幾頁
這些我們在控制層模擬下就行 控制層就省略了
最終返回頁面的結構就是分頁的結果了
pagenum對應的就是當前頁0
然後每頁顯示的條數就是2
其他省略了 查出來後填進去就行
通各位大神分析了mybatis用外掛程式分頁的優缺點
最後還是手動分頁 算是對今天工作的總結吧。
mybatis實現物理分頁
物理分頁 把資料在資料庫中進行分頁,得到需要的那頁資訊 邏輯分頁 把資料從資料庫中全部拿出來,在後台進行分頁,得到需要的那頁資訊 背景 ssm框架 mysql 一 準備pager類 public class pager public pager int pagesize,int currentpag...
mybatis物理分頁(常用)
分頁查詢 首先我們要明確什麼是分頁?為什麼要去分頁?分頁就是將資料以多頁去展示,使用分頁可以提高客戶的感受。分頁的分類 1.物理分頁 只從資料庫中查詢當前頁的資料 優點 不占用很多記憶體 缺點 效率比價低 相比於邏輯分頁 2.邏輯分頁 從資料庫將所有記錄查詢出來,儲存到記憶體中,展示當前頁,然後資料...
mybatis實現分頁
邏輯分頁 1.1.業務控制層 public void selectdeptwithpage1 1.2 資料訪問層 select from t department and deptname like if where select 2.物理分頁 這種分頁是我們mysql資料庫支援的,其實也就是拼sq...