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

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

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

    隨筆 - 9, 文章 - 0, 評論 - 3, 引用 - 0
    數據加載中……

    Hibernate的檢索方式

     

    Hibernate的檢索方式Hibernate的檢索方式:
     1.導航對象圖檢索方式
        根據已經加載的對象,導航到其他對象.
     2.OID檢索方式
        按照對象的OID來檢索對象
     3.HQL檢索方式
        使用面向對象的HQL查詢語言.
     4.QBC檢索方式
        使用QBC API來檢索對象,這種API封裝了基于字符串形式的查詢語句,提供了更加面向對象的接口.
        它主要由Criteria接口,Criterion接口和Expression類組合,它支持在運行時動態生成的查詢語句:
        以下程序代碼用于檢索姓名以字符"T"開頭,并且年齡為21的Customer對象:
          ///調用Session的createCriteria()方法創建一個Criteria對象
          Creteria criteria=session.createCriteria(Customer.class);
          //設置查詢條件,Expression類提供了一系列用于設定查詢條件的靜態方法,這些靜態方法都
           返回Criterion實例,每個Criterion實例代表一個查詢條件
          Criterion criterion1=Expression.like("name","T%");
          Criterion criterion2=Expression.eq("age",new Integer(21));
          ////Criteria的add()方法用于加入查詢條件.
          criteria=criteria.add(criterion1);
          criteria=criteria.add(criterion2);
          /////調用Criteria的list()方法執行查詢語句,該方法返回List類型的查詢結果,在List集合中存放
            了符合查詢條件的持久化對象
          List result=criteria.list();
          對于以上代碼執行的SQL語句為:select * from CUSTOMERS where NAME like"T%" and AGE=21;
          Criteria接口支持方法鏈編程風格,它的add()方法返回自身實例,而不是返回void類型
     5.本地SQL檢索方式:
     6.QBE檢索方式:
       它是QBC的子功能,QBE允許先創建一個對象樣板,然后檢索出所有和這個樣板相同的對象.如下:
        //創建一個CUstomer樣板對象
          Customer exampleCustomer=new Customer();
          exampleCustoemr.setAge(21);
          List result=session.createCriteria(Custoemr.class).add(Example.create(exampleCustomer)).list();
        因為QBE只支持"="和"like"比較運算符,所以一般采用HQL檢索方式或者QBC檢索方式.

    分頁查詢:
      Query和Criteria接口都提供了用于分頁顯示查詢結果的方法:
       setFirstResult(int firstResult):設定從哪一個對象開始檢索,參數firstResult表示這個對象在查詢結果中的索引位置,索引位置的起始值為0,
       在默認情況下,Query和Criteria接口從查詢結果中的第一個對象,也就是索引位置為0的對象開始檢索.
      setMaxResult(int maxResults):設定一次最多檢索出的對象數目,在默認情況下,Query和Criteria接口檢索出查詢接口中所有的對象

    檢查單個對象:
     Query和Criteria接口都提供了以下用于執行查詢語句并返回查詢結果的方法:
    list()方法:返回一個List類型的查詢結果,在List集合中存放了所有滿足查詢條件的持久化對象
     uniqueResult()方法:返回單個對象.
     在某些情況下,如果只希望檢索出一個對象,可以先調用Query或Criteria接口的setMaxResult(1)方法,把最大檢索數目設為1,然后調用uniqueResult()方法,
     該方法返回一個Object類型的對象.
     // 采用HQL檢索方式
     Customer customer=(Customer)session.createQuery("from Customer c order by c.name asc").setMaxResults(1).uniqueResult();
     //采用QBC檢索方式
     Customer customer=(Customer)session.createCriteria(Customer.class).add(Order.asc("name")).setMaxResults(1).uniqueResult();

    posted on 2007-10-29 16:04 空杯 閱讀(1016) 評論(0)  編輯  收藏 所屬分類: Hibernate


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


    網站導航:
     
    主站蜘蛛池模板: 一级毛片免费不卡| 无码国产精品一区二区免费式直播| 免费看黄福利app导航看一下黄色录像| 一级毛片免费播放男男| 四虎成人精品一区二区免费网站| 亚洲偷自拍拍综合网| 亚洲熟妇无码久久精品| 日本高清不卡中文字幕免费| 免费一级大黄特色大片| 色拍自拍亚洲综合图区| 好湿好大好紧好爽免费视频| 国语成本人片免费av无码| 亚洲男同帅GAY片在线观看| 亚洲人成色777777精品| 99国产精品视频免费观看| 亚洲精品人成无码中文毛片 | 亚洲人片在线观看天堂无码| 成年大片免费视频| 亚洲美女激情视频| 最近免费中文字幕MV在线视频3| 国产精品99久久免费| 亚洲午夜电影一区二区三区| 日韩免费高清播放器| 亚洲国产精品久久66| 中文字幕乱理片免费完整的| 国产在线98福利播放视频免费| 无码色偷偷亚洲国内自拍| 免费高清小黄站在线观看| 亚洲国产成a人v在线观看| 51视频精品全部免费最新| 亚洲av永久无码精品秋霞电影影院| 黄网站色视频免费观看45分钟 | 午夜不卡久久精品无码免费| 久久精品夜色噜噜亚洲A∨| 美女视频黄视大全视频免费的| 国产偷国产偷亚洲清高动态图| jizz免费观看视频| 国产成人精品日本亚洲专区| 日本免费xxxx色视频| 亚洲喷奶水中文字幕电影| 日本特黄a级高清免费大片|