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

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

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

    JAVA & FLEX

    一個分享java和flex開發(fā)經驗的空間

       :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
      26 隨筆 :: 2 文章 :: 44 評論 :: 0 Trackbacks

        早有就這個想法,將自己在項目中用到的ibaits經驗寫出來,恰巧看到了這個標題,所以重新開了一個帖子,歡迎大家討論一下。
        ibatis是一個輕量級的框架,他的優(yōu)點在于Sql的自由化,這點我個人認為比hibernate好了很多,它比較靈活。但是問題來了,由于比較靈活,那么我們會面臨一個問題,我們如何來操控它才是最優(yōu)的。也許這個問題本身就是一個沒有答案的問題,仁者見仁,智者見智,下面我只把自己的想法寫下來,希望能幫助到希望得到幫助的人。
        對于web的三層結構,我們數據的傳遞流是這個樣子的,Controller->service->dao->sqlmap->DB。那么我們該如何設計這個Bean呢,我認為這樣是最佳的組合。Control(Form)->service(Dto)->dao.這樣的好處在于,我們解耦了頁面和數據庫的對應關系。
        對于ibatis來說,單純的增刪改查,好像一般都是form和dto這兩個bean沒有什么區(qū)別,所以有些人可能會認為在control層和service層多出的form沒有什么用處,但是業(yè)務復雜以后,你就會知道頁面和數據庫的解耦,是多么的重要。ok,今天的話題并不是討論三層的bean設計,而是針對dto的設計。

        “iBATIS那一大堆的不倫不類的JavaBean“的作者可能還是一個在校的學生吧,這種看法,對于一個學生來講,已經是很不錯的。但是項目經驗告訴我們,Dto的設計,并沒有那么單純,并不是一個簡單的javaBean的問題,它涉及到了與數據庫方面相關的內容。例如,一個新增操作,它設計到三個表的插入,這個dto你怎么設計呢,并且這個插入的動作并不是全表的插入操作,我們該怎么辦。是針對所有需要插入的項,設計dto還是涉及到類似hibernate那樣的orm映射,還是利用繼承來設計呢?
        事實上,java的開發(fā)原則告訴我們,要將你實現的功能盡量拆分成元來進行,所謂的元,就是盡量的原子話,ok,遵循這個原則,我們需要將dto設計成orm的映射,即一個表對應一個dto。那么插入三個表,那就涉及到了三個表的dto數據來源問題,難道是我們需要將form中的每個字段都分別set到dto中嗎,有重復的話,我們不是白做了很多的工作?好的,我們用sqlmap中的語句來解決它就可以了。
    所以,ibatis中的bean設計,絕對不是不倫不類的javabean,而是要符合你本身框架和數據庫設計的綜合bean的設計。
    以上只是個人看法,希望大家指正。

    posted on 2009-06-29 10:33 程序人生-天津 閱讀(958) 評論(0)  編輯  收藏 所屬分類: JPA
    主站蜘蛛池模板: 亚洲欧洲国产成人综合在线观看| 91香蕉国产线在线观看免费| 水蜜桃视频在线观看免费| 国产成人精品日本亚洲专区6| 中文字幕亚洲精品资源网| 亚洲美免无码中文字幕在线| 久久亚洲国产精品成人AV秋霞| 亚洲人成网www| 精品亚洲成A人无码成A在线观看| 亚洲成a人片在线观看中文app| 亚洲精品在线网站| 亚洲综合久久精品无码色欲| 日本特黄特黄刺激大片免费| 精品剧情v国产在免费线观看| 免费一级毛片在级播放| 国产AⅤ无码专区亚洲AV| 久久亚洲AV成人无码| 亚洲欧美一区二区三区日产| 免费人成大片在线观看播放电影| 一区二区三区AV高清免费波多 | 亚洲精品国产电影| 亚洲天天做日日做天天看| 亚洲一卡2卡3卡4卡乱码 在线| 色视频在线观看免费| 日韩精品无码免费专区网站| 久草视频在线免费| 亚洲人成无码久久电影网站| 亚洲欧洲精品视频在线观看| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲熟妇丰满多毛XXXX| 亚洲欧洲日产v特级毛片| 欧亚一级毛片免费看| 亚州免费一级毛片| 亚洲天堂中文字幕在线| 亚洲国产成人久久77| 999zyz**站免费毛片| 精品国产免费观看| 亚洲午夜成激人情在线影院| 免费播放在线日本感人片| 国产禁女女网站免费看| 亚洲人成伊人成综合网久久|