<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

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

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

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

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


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

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

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

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

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

    評(píng)論

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

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

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

    有同感,不過從軟件工程角度上考慮使用兩套SQL也有好處。因?yàn)閮商譙QL全部可以對(duì)外公開!  回復(fù)  更多評(píng)論   

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

    Ibatis的分頁確實(shí)是他的致命傷。比起hibernate,我更喜歡ibatis,因?yàn)樗侵苯訉憇ql語句的,這對(duì)那些有著復(fù)雜的表結(jié)構(gòu)的項(xiàng)目來說非常有好處。

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

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

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

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


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

    還請(qǐng)指教
      回復(fù)  更多評(píng)論   

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

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

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

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

    導(dǎo)航

    留言簿(15)

    隨筆分類

    值得一看的博客

    積分與排名

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 四虎影视永久免费观看地址 | 亚洲爆乳精品无码一区二区三区 | 亚洲精品456播放| 亚洲国产成人无码AV在线 | 成人午夜亚洲精品无码网站| 三年片在线观看免费观看大全中国 | 亚洲国产精品无码久久久久久曰| 国产成人 亚洲欧洲| 亚洲国产成人久久综合区| 中文永久免费观看网站| 亚洲av永久无码精品漫画| 最近中文字幕国语免费完整| 亚洲宅男天堂a在线| 久久精品网站免费观看| 精品国产日韩亚洲一区91| 亚洲国产人成精品| 黄网站色视频免费在线观看的a站最新| 国产AV无码专区亚洲AVJULIA| 伊人久久免费视频| 亚洲砖码砖专无区2023| 亚洲第一成人影院| 久久免费观看国产精品| 亚洲一区精彩视频| 免费jlzzjlzz在线播放视频| 中文字幕免费在线播放| 亚洲春黄在线观看| 免费夜色污私人影院在线观看| 青柠影视在线观看免费| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲国产精品国自产电影| 成人免费毛片内射美女APP| 污污视频免费观看网站| 亚洲高清中文字幕综合网| 国产一级大片免费看| 人人玩人人添人人澡免费| 亚洲国产日韩综合久久精品| 国内精品久久久久久久亚洲| 青青草a免费线观a| 中出五十路免费视频| 亚洲日本乱码卡2卡3卡新区| 国产亚洲精品影视在线产品|