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

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

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

    魔獸傳奇

    java程序愛好者
    posts - 28, comments - 16, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    工作原理
    1.         讀取并解析配置文件
    2.         讀取并解析映射信息,創(chuàng)建SessionFactory
    3.         打開Sesssion
    4.         創(chuàng)建事務(wù)Transation
    5.         持久化操作
    6.         提交事務(wù)
    7.         關(guān)閉Session
    8.         關(guān)閉SesstionFactory 

    為什么要用:

     1.    對JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。
    2.    Hibernate是一個基于JDBC的主流持久化框架,是一個優(yōu)秀的ORM實現(xiàn)。他很大程度的簡化DAO層的編碼工作
    3.    hibernate使用Java反射機(jī)制,而不是字節(jié)碼增強(qiáng)程序來實現(xiàn)透明性。
    4.    hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。
     

    2.   Hibernate是如何延遲加載?
    1.         Hibernate2延遲加載實現(xiàn):a)實體對象  b)集合(Collection)
    2.         Hibernate3 提供了屬性的延遲加載功能

    當(dāng)Hibernate在查詢數(shù)據(jù)的時候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對數(shù)據(jù)的操作時,對象才存在與內(nèi)存中,就實現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開銷,從而提高了服務(wù)器的性能。

    3.   Hibernate中怎樣實現(xiàn)類之間的關(guān)系?(如:一對多、多對多的關(guān)系)

    類與類之間的關(guān)系主要體現(xiàn)在表與表之間的關(guān)系進(jìn)行操作,它們都市對對象進(jìn)行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many、

    4.   說下Hibernate的緩存機(jī)制

    1.         內(nèi)部緩存存在Hibernate中又叫一級緩存,屬于應(yīng)用事物級緩存

    2.         二級緩存:

    a)         應(yīng)用及緩存

    b)        分布式緩存

    條件:數(shù)據(jù)不會被第三方修改、數(shù)據(jù)大小在可接受范圍、數(shù)據(jù)更新頻率低、同一數(shù)據(jù)被系統(tǒng)頻繁使用、非              關(guān)鍵數(shù)據(jù)

    c)  第三方緩存的實現(xiàn)

     6.   如何優(yōu)化Hibernate

     2.         靈活使用單向一對多關(guān)聯(lián)
    3.         不用一對一,用多對一取代
    4.         配置對象緩存,不使用集合緩存
    5.         一對多集合使用Bag,多對多集合使用Set
    6.         繼承類使用顯式多態(tài)
    7.         表字段要少,表關(guān)聯(lián)不要怕多,有二級緩存撐腰



     spring工作機(jī)制及為什么要用?

     

    1.spring mvc請所有的請求都提交給DispatcherServlet,它會委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)負(fù)責(zé)對請求進(jìn)行真正的處理工作。

    2.DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller.

    3.DispatcherServlet請請求提交到目標(biāo)Controller

    4.Controller進(jìn)行業(yè)務(wù)邏輯處理后,會返回一個ModelAndView

    5.Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象

    6.視圖對象負(fù)責(zé)渲染返回給客戶端。

    為什么用:

    {AOP 讓開發(fā)人員可以創(chuàng)建非行為性的關(guān)注點,稱為橫切關(guān)注點,并將它們插入到應(yīng)用程序代碼中。使用 AOP 后,公共服務(wù)   (比如日志、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊?,同時不會增加域?qū)ο蟮膶ο竽P偷膹?fù)雜性。

                   IOC 允許創(chuàng)建一個可以構(gòu)造對象的應(yīng)用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞 倒置 所表明的,IOC 就像反      過來的 JNDI。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton)和直接構(gòu)造(straight construction),每一個對象都是用     其協(xié)作對象構(gòu)造的。因此是由容器管理協(xié)作對象(collaborator)。

    Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協(xié)作對象)。然后可以很容易地在需要時替換具有類似接口的協(xié)作對象。}


    評論

    # re: Hibernate學(xué)習(xí)筆記2-工作原理  回復(fù)  更多評論   

    2011-02-17 15:27 by gege
    確實很好

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久亚洲精品日久生情 | 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲成a人片在线播放| 亚洲AV日韩综合一区尤物| 久久久高清免费视频| 亚洲av极品无码专区在线观看| 亚洲第一网站免费视频| 亚洲国产高清在线精品一区| 无码区日韩特区永久免费系列| 亚洲国产成人久久精品app| 1000部无遮挡拍拍拍免费视频观看| 亚洲国产精品yw在线观看| 在线jyzzjyzz免费视频| 亚洲AV无码资源在线观看| 亚洲福利视频一区二区| 国产黄在线观看免费观看不卡| 国产国拍精品亚洲AV片| 久久免费区一区二区三波多野| 亚洲成a人片毛片在线| 成人永久福利免费观看| www永久免费视频| 亚洲最大的成网4438| 成人免费一区二区三区在线观看| 深夜福利在线免费观看| 三上悠亚亚洲一区高清| 99视频免费观看| 亚洲一卡2卡三卡4卡无卡下载| heyzo亚洲精品日韩| 午夜不卡久久精品无码免费| 亚洲人成影院在线高清| 日产国产精品亚洲系列| 免费国产在线视频| 久久亚洲国产最新网站| 亚洲人成网站在线观看播放| 无码日韩精品一区二区免费| 免费手机在线看片| 久久精品九九亚洲精品| 免费国产a国产片高清| 免费播放一区二区三区| 国产偷国产偷亚洲清高APP| 亚洲国产精品无码久久久秋霞2 |