ibatis 分頁的簡單實現

2021-08-27 14:33:22 字數 981 閱讀 2243

cheungmine 2013-8-26

使用ssi (struts2, spring3, ibatis2.3)框架開發web服務的時候有乙個需求就是對查詢得到的結果分頁顯示. ibatis2的查詢函式主要有: queryforlist 和 queryforpaginatedlist

queryforpaginatedlist 據說可以直接分頁, 以至於在資料量大了的時候, 效能急劇下降, 根本不能使用.

回到 queryforlist, 如下呼叫可以取得queryentities的全部資料:

listentities = null;

entities = getsqlmapclienttemplate().queryforlist("queryentities", paramsmap);

如果我們需要知道記錄總數, 則需要:

listrowcount = getsqlmapclienttemplate().queryforlist("getrowcount", paramsmap);

我的entityclass.xml如下:

entityclass"

resultmap="entityclassresultmapdefault">

因此**中需要在第一次執行queryentities之前, 先執行getrowcount以取得記錄數目. 而queryentities

由於採用了select * from table where condition limit m offset n 語法, 會自動跳過n個結果記錄(0-based), 返回不超過m條記錄. 這要求資料庫支援, mysql, sqlite 可以. 注意, offset n是在返回的結果集中跳過前n個.

以上是簡單的ibatis

物理分頁的實現, 顯然每次我們翻頁的時候都要執行一次查詢, 但是由於我們只取得limit 條記錄, 因此對伺服器的記憶體消耗是固定的小尺寸. 這對瀏覽大記錄集尤為有用.

IBatis的分頁研究 sql分頁

在看jpetstore的 時,發現它的分頁處理主要是通過返回paginatedlist物件來完成的。如 在catalogservice類中public paginatedlist getproductlistbycategory string categoryid 分頁是運算元據庫型系統常遇到的問題...

IBatis的分頁研究 sql分頁

在看jpetstore的 時,發現它的分頁處理主要是通過返回paginatedlist物件來完成的。如 在catalogservice類中public paginatedlist getproductlistbycategory string categoryid 分頁是運算元據庫型系統常遇到的問題...

IBatis分頁配置

ibatis分頁方法我沒去看,這裡講的分頁為通過sql語句來分頁。startrownum username like userinfo.username gi.groupid userinfo.usergroup.groupid dao層傳遞過來的是乙個map集合,而map集合中又包括查詢條件與起始...