幫助IT團隊快速構(gòu)建符合jt808協(xié)議部標的基于java技術(shù)的GPS和視頻平臺(2379423771@qq.com)

          由ibatis引起的框架設(shè)計思考

          ?? 以前,不熟悉Ibatis的時候,自己寫了一個類似Ibatis的查詢分頁框架,SQL配置在XML文件當(dāng)中,提供腳本語法的功能。
          ?
          ??? 后來,覺得Ibatis完全能替代自己的框架,還有Cache、Transaction等強功能。

          ?? 但是跟蹤到源碼才發(fā)現(xiàn)Ibatis完成是基于內(nèi)存分頁的,而且方法已經(jīng)Depreciated. 內(nèi)存分頁對我的應(yīng)用來說,是一點不實用的,其實就是一個廢物。

          ?? 但是Ibatis又不提供任何的回調(diào)接口,可以讓調(diào)用者擴展。


          ?? 于是我不得不重新修改了Ibatis的源碼,向外部透出了一個回調(diào)接口,供分頁SQL使用,并重新打包成jar文件讓開發(fā)人員使用。

          ??? 這真是不爽之極,為什么Ibatis不能提供,這么強大的框架都做出來了,但這個小小的分頁,卻做不了,如果你做不了,其碼也要透一個接口給我呀。

          ??? 所以對于框架來說,職責(zé)的分擔(dān),是很重要的,完成你該完成的,該擴展的地方,即要提供默認實現(xiàn),也要提供接口,供調(diào)用者二次開發(fā)。這才是框架的可擴展性、靈活性所在。
          ??? 很多人在開發(fā)框架時,總期望做很多東東,自己給自己加套,反而喪失的靈活性,同時提供了很多不能擴展的實現(xiàn),等于強加意志給使用者,愛用不用。

          ??? 相信很多人在用Ibatis的時候,也有同感,對于數(shù)據(jù)庫分頁查詢,應(yīng)當(dāng)是非常重用,非常普遍的一個功能,Ibatis竟然做的是如此的差,一些人在使用Ibatis的時候,不得不寫了兩套SQL,一個查詢總行數(shù)的,一個是查詢某一頁的SQL。實際上,ibatis完全可以根據(jù)一個SQL來生成這兩個SQL,并自動分頁。

          posted on 2007-04-13 19:09 Speed 閱讀(3440) 評論(6)  編輯  收藏 所屬分類: 框架設(shè)計 、J2EEHibernate & Ibatis

          評論

          # re: 由ibatis引起的框架設(shè)計思考 2007-04-14 00:05 L

          在ibatis里面自己用參數(shù)控制來達到分頁也很容易啊。  回復(fù)  更多評論   

          # re: 由ibatis引起的框架設(shè)計思考 2007-04-14 10:02 不好說

          有同感,不過從軟件工程角度上考慮使用兩套SQL也有好處。因為兩套SQL全部可以對外公開!  回復(fù)  更多評論   

          # re: 由ibatis引起的框架設(shè)計思考 2007-04-16 09:06 千山鳥飛絕

          Ibatis的分頁確實是他的致命傷。比起hibernate,我更喜歡ibatis,因為他是直接寫sql語句的,這對那些有著復(fù)雜的表結(jié)構(gòu)的項目來說非常有好處。

          Lz有位說傳參數(shù),對mysql和oracle都比較好用,但對sqlserver卻不是那么好用了,因為sqlserver沒有分頁的方法,寫sql語句大復(fù)雜,寫存儲過程又大占系統(tǒng)資源了。  回復(fù)  更多評論   

          # re: 由ibatis引起的框架設(shè)計思考 2007-10-12 15:51 abcx

          我們做iBATIS分頁的時候花了一些時間,看過iBATIS的源代碼,但經(jīng)理是不同意直接修改iBATIS的源代碼的。然后,就只能在外部擴展,費了不少力,總算寫出了一個簡單并且還算不錯的分頁工具程序,基于Oracle數(shù)據(jù)庫的。在iBATIS的網(wǎng)站上建議使用數(shù)據(jù)庫的特性來分頁,這樣iBATIS自己倒是省事了,不用考慮支持多數(shù)據(jù)庫的問題。  回復(fù)  更多評論   

          # re: 由ibatis引起的框架設(shè)計思考 2008-01-02 09:20 java_蟈蟈


          @L
          偶也覺得用參數(shù)分頁滿不錯的,呵呵,這是偶第一次用IBATIS時的分頁,http://www.aygfsteel.com/wyz191/articles/156923.html

          還請指教
            回復(fù)  更多評論   

          # re: 由ibatis引起的框架設(shè)計思考 2008-07-17 12:53 lan

          iBATIS原先是有分頁的功能的,但是在使用中暴露出的問題更多,如果去適應(yīng)各種數(shù)據(jù)庫,就和Hibernate差不多了,這違背了iBATIS的本意和初衷。
          所以,iBATIS最終把這個功能給去掉了。

          分頁很難嗎?為什么要去用別人的,自己開發(fā)的不是更容易控制?
          一個公司開發(fā)個分頁功能不過分吧?而且還可以加上自己的特性。

          如果每個項目都需要開發(fā)一個分頁功能,那iBATIS更不可能滿足你的需要。  回復(fù)  更多評論   

          導(dǎo)航

          留言簿(15)

          隨筆分類

          值得一看的博客

          積分與排名

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 乐至县| 秦安县| 邳州市| 阿坝| 大庆市| 临漳县| 邵阳市| 时尚| 龙口市| 易门县| 丘北县| 青龙| 阳泉市| 永登县| 漾濞| 吐鲁番市| 大宁县| 益阳市| 淮滨县| 新余市| 长海县| 吉水县| 司法| 龙州县| 扶沟县| 时尚| 南部县| 旌德县| 蒙自县| 准格尔旗| 吴川市| 肥东县| 蓝田县| 桦川县| 汶川县| 景洪市| 墨玉县| 苗栗县| 新密市| 宜章县| 常宁市|