<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://www.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)論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲成人福利在线观看| 特级做a爰片毛片免费看| 午夜精品在线免费观看| 理论片在线观看免费| 亚洲AV永久无码精品一百度影院 | 亚洲aⅴ无码专区在线观看春色| 免费又黄又爽的视频| 蜜桃成人无码区免费视频网站 | 久久免费福利视频| 亚洲熟女www一区二区三区| 亚洲色爱图小说专区| 国产啪精品视频网免费| 久久高潮一级毛片免费| 亚洲不卡中文字幕| 精品久久久久久亚洲| 成年女人18级毛片毛片免费 | 亚洲福利视频一区二区| 亚欧免费一级毛片| 羞羞网站免费观看| 亚洲午夜电影在线观看| 国产亚洲精aa成人网站| 女人18特级一级毛片免费视频 | 亚洲日本va午夜中文字幕久久 | 中文字幕亚洲第一| 日韩在线视频免费看| 9420免费高清在线视频| 老司机午夜在线视频免费观| 亚洲乱码日产精品BD在线观看| 亚洲精品国产品国语在线| 国产精品黄页在线播放免费| 最近免费最新高清中文字幕韩国| 一出一进一爽一粗一大视频免费的| 亚洲第一区二区快射影院| 亚洲AV日韩AV永久无码久久 | 亚洲欧洲无卡二区视頻| 亚洲AV无码国产在丝袜线观看| 免费一看一级毛片人| 日韩在线天堂免费观看 | 亚洲欧洲日产韩国在线| 国产亚洲精品美女久久久| 亚洲国产精品尤物yw在线|