国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
關于ibatis中queryForPaginatedList方法的分析

剛剛開始學習ibatis,在使用發(fā)現(xiàn)ibatis中一個重要特性會在未來版本取消!

這個就是分頁特性

現(xiàn)在在2.3中已經(jīng)設置SqlMapper.QueryForPaginatedList方法為Deprecated了.

剛開始我發(fā)現(xiàn)這個queryForPaginatedList這個方法,感覺眼前一亮,既然讓自己寫SQL語句,還可以為我們實現(xiàn)分頁,這不錯 ??!HIbernate中雖然可以實現(xiàn)分頁,是因為它知道我們使用的是什么數(shù)據(jù)庫,可以指定不同的分頁策略,但是ibatis中不會分辨數(shù)據(jù)庫。所以很想 了解它的實現(xiàn)方法。

然后發(fā)現(xiàn)這個方法被設置為了Deprecated,還以為提供了更好的方法,一般在程序中會是這樣。
在Google中搜索了一下,在官方網(wǎng)站上看到在未來版本中將要被刪除,甚是不解。

就自己在網(wǎng)上查找了一下,發(fā)現(xiàn)其中的奧秘。

一篇對queryForPaginatedList進行很好的分析的文章,使我茅塞頓開。

http://ivanl.javaeye.com/blog/24739

作者對這個方法的性能進行了分析,并對源代碼進行了分析,這種學習方式值得學習。

發(fā)現(xiàn)其中的問題,ibatis中的分頁并不是基于數(shù)據(jù)庫的分頁,而是一種基于JDBC驅(qū)動的分頁方式,所以其中的效率會跟驅(qū)動的性能有很大關系。和原生的數(shù)據(jù)庫分頁之間有很大的性能差別。

作者還列舉了這個方法的調(diào)用順序:

調(diào)用次序如下SqlMapClientImpl.queryForPaginatedList->SqlMapSessionImpl.queryForPaginatedList
->SqlMapExecutorDelegate.queryForPaginatedList->GeneralStatement.executeQueryForList
->GeneralStatment.executeQueryWithCallback->GeneralStatment.executeQueryWithCallback
->SqlExecutor.executeQuery->SqlExecutor.handleMultipleResults()

我估計ibatis的作者可能感覺這樣一個方法會開發(fā)者對起產(chǎn)生依賴,而忽略其中的系能問題,并經(jīng)常使用,但是這對應用程序并不是很好的一種做法,特別數(shù)據(jù)量較大的系統(tǒng)中。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ibatis中queryForPaginatedList分頁 源碼分析
自己封裝的Access數(shù)據(jù)庫的操作類(AccessHelper)
提高ASP.Net應用程序性能的十大方法[正文]
MyBatis基礎面試題及答案
NHibernate使用ICriteria分頁并返回數(shù)據(jù)庫記錄總條數(shù)
如何將數(shù)據(jù)庫中查詢出來的數(shù)據(jù)再進行分頁操作?
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服