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

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

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

    Jason ---分享,共同進步

    激情成就夢想,努力創造未來
    隨筆 - 53, 文章 - 1, 評論 - 45, 引用 - 0
    數據加載中……

    hibernate查詢(1)

    相信越來越多的web開發者,在持久層都采用了hibernate。hibernate 可以大大提高開發效率,同時對應項目的移植也有好處,但是同樣也存在問題,大家在使用hibernate的時候很少去關心效率問題,但是這個就是一個打的問題,好多項目不成功就是項目中沒有對hibernate熟悉的人,大家就是會簡單的使用,所以再有些細節上的東西我們開發人員沒有注意。

     

       就拿hibernate來說吧,他支持hql查詢,在我們組裝sql語句時,需要注意幾個問題:
       1、要查詢當然離不開數據庫,我們建表時,默認的主鍵都是索引,這里要注意的就是關于建立單個索引和復合索引了。

          具體的索引的hibernate中也是適用,我發現好多人用hibernate就很少提到索引這個概念了(用ibatis自己寫sql就會關注索引字段,這個還是可以的額)

          索引的引用規則都是適用的:
          介紹下:單個索引就是出現索引字段作為條件就應用 ;
                  復合索引(假設是2個字段的復合索引),出現復合索引的第一個字段作為條件就應用;
                  出現復合索引的2個字段作為條件,這應用,如果沒有出現復合索引的第一個字段則不應用;
          由此我們需要為我們的數據庫建立索引,記住復合索引是有順序的 。
         
          影響我們建立索引的條件還有就是業務(這個很重要) ,舉個例子:如果有2個查詢條件(性別、所在部門),倘若我們要建立符合索引,
          那么我們應該將"所在部門"字段放在前面,"性別"放在后面,主要是因為,如果某個地方的查詢條件只有"所在部門",也可以起作用。另外要注意,如果查詢索引字段參與函數計算和like等,那么索引也不起作用。
      2、 在我們寫查詢代碼時,盡量對應各個表的已經存在索引寫查詢條件
          [第一個查詢條件盡量是單個索引,或者是復合索引的第一個字段]  。
      3、還有就是大家再拼裝查詢語句時,傳入的查詢條件值盡量不要直接寫在查詢語句中,而是要以參數的方式提供即使用綁定參數
         這樣,系統多次調用統一個查詢時(比如:select * from TestVO where code = ?   [不要寫為  select * from TestVO where code = 'aaaa']) ,
         條件值都是以參數的方式提供的,這樣,多次查詢雖然參數值不一樣,但查詢語句相同,數據庫只有第一次才對查詢語句進行編譯,
         以后則不在編譯,所以性能會有提升。
         用參數的方式還有一個好處是:如果你不是使用
         Criteria criteria = openSession().createCriteria(**PO.class);
         criteria.add(Restrictions.like( "name",convertDBString(name) ));
         的方式,而是使用hibernate的hql的話,那么如果參數值為中文會有問題,用參數可以解決這個問題。

    注: 使用綁定參數的優勢:
      我們為什么要使用綁定命名參數?任何一個事物的存在都是有其價

    值的,具體到綁定參數對于HQL查詢來說,主要有以下兩個主要優勢:
     ?、?、 可以利用數據庫實施性能優化,因為對Hibernate來說在底層

    使用的是PrepareStatement來完成查詢,因此對于語法相同參數不同的

    SQL語句,可以充分利用預編譯SQL語句緩存,從而提升查詢效率。
     ?、?、 可以防止SQL Injection安全漏洞的產生:

    posted on 2010-02-24 16:56 agun 閱讀(504) 評論(0)  編輯  收藏 所屬分類: java web

    主站蜘蛛池模板: 青青草原1769久久免费播放 | 99麻豆久久久国产精品免费 | 中国亚洲呦女专区| 亚洲五月丁香综合视频| 亚洲一级特黄特黄的大片| 日韩免费无码一区二区三区| 国产美女在线精品免费观看| 免费观看理论片毛片| 精品国产亚洲男女在线线电影 | 免费日韩在线视频| 亚洲精品无码MV在线观看| 久久久久亚洲AV无码专区网站| 色婷婷六月亚洲综合香蕉| 中文字幕在线成人免费看| 久久精品免费全国观看国产| 波多野结衣中文一区二区免费| 亚洲成A人片在线观看WWW| 亚洲AV无码国产一区二区三区| 在线a人片天堂免费观看高清| 免费精品一区二区三区在线观看| 久久亚洲精品国产亚洲老地址| 日韩在线天堂免费观看| 国产亚洲精久久久久久无码AV| 一级一看免费完整版毛片| 国产成人精品免费视| 亚洲精品国产精品乱码不卡| 亚洲理论片在线中文字幕| 九九久久精品国产免费看小说| 亚洲人成色77777| 一级毛片试看60分钟免费播放| 亚洲国产婷婷六月丁香| 免费观看激色视频网站(性色)| 国产亚洲精品bv在线观看| 免费va人成视频网站全| 久久成人免费播放网站| 亚洲综合色区中文字幕| 亚洲精品线路一在线观看| 99在线观看精品免费99| 综合偷自拍亚洲乱中文字幕| 成人免费的性色视频| 亚洲麻豆精品果冻传媒|