首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

iBATIS 分頁實戰:巧用 ObjectDataSource 與 QueryForList 實現高效分頁

     編輯:Java 相關知識

ObjectDataSource 內建分頁支援,關鍵在於正確設定四個屬性:

  • EnablePaging="true":啟用分頁模式
  • SelectMethod:取得當頁資料的方法
  • SelectCountMethod:取得總筆數的方法
  • StartRowIndexParameterName、MaximumRowsParameterName:對應方法參數名稱(起始索引、最大筆數)

傳統難點:SelectMethod 的實作

SelectCountMethod 通常簡單(SELECT COUNT(*)),但 SelectMethod 需支援「從第 N 筆取 M 筆」。傳統做法常寫緊耦合特定資料表的預存程序,難以重用。

iBATIS 解決方案:ISqlMapper.QueryForList

iBATIS ISqlMapper 提供完美契合的方法:

IList<T> QueryForList<T>(
    string statementName, 
    object parameterObject, 
    int skipResults,   // 對應 StartRowIndexParameterName
    int maxResults     // 對應 MaximumRowsParameterName
);

後兩參數直接對應 ObjectDataSource 的分頁參數,無需修改 SQL、無需預存程序,極具通用性。

實測效能

測試資料 20 萬筆,翻頁耗時約 0.7 秒,效能優異。

iBATIS 分頁效能測試截圖

總結

結合 ObjectDataSource 內建分頁機制與 iBATIS QueryForList 的 skipResults/maxResults 參數,即可輕鬆實作通用、高效、零 SQL 侵入的分頁功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved