隨筆-57  評論-202  文章-17  trackbacks-0
                Criteria Query是很好的一種面向對象的查詢實現,它提供了一種示例查詢的方式。該方式根據已有的對象,查找數據庫中屬性匹配的其他對象。
                下面是一個場景片斷,模糊查找數據庫中用戶帳號為'test',郵件地址為'georgehill@21cn.com'的實例,忽略大小寫。

            public void testCriteriaExampleQuery() throws Exception {
              User user 
          = new User();
              user.setAccount(
          "test");
              user.setEmail(
          "georgehill@21cn.com");
              
              Criteria criteria 
          = session.createCriteria(User.class).add(Example.create(user).enableLike(MatchMode.ANYWHERE).ignoreCase());
              List list 
          = criteria.list();
              
              
          if (list != null{
                
          for (int i = 0; i < list.size(); i++{
                  System.
          out.println(((User) list.get(i)).getAccount());
                }

              }

            }

                示例查詢需要生成Example實例,可以通過Example的靜態方法create生成。Example類有下面的幾個方法指定查詢的方式:

          excludeZeroes

          public Example excludeZeroes()
          Exclude zero-valued properties


          excludeNone

          public Example excludeNone()
          Don't exclude null or zero-valued properties


          enableLike

          public Example enableLike(MatchMode matchMode)
          Use the "like" operator for all string-valued properties


          enableLike

          public Example enableLike()
          Use the "like" operator for all string-valued properties


          ignoreCase

          public Example ignoreCase()
          Ignore case for all string-valued properties


          excludeProperty

          public Example excludeProperty(String name)
          Exclude a particular named property



                當用enableLike()方法時,可以通過MatchMode指定匹配的方式。MatchMode提供了四種匹配的方式:

          Field Summary
          static MatchMode ANYWHERE
                    Match the pattern anywhere in the string
          static MatchMode END
                    Match the end of the string to the pattern
          static MatchMode EXACT
                    Match the entire string to the pattern
          static MatchMode START
                    Match the start of the string to the pattern
          posted on 2005-06-03 17:27 小米 閱讀(2192) 評論(3)  編輯  收藏 所屬分類: Hibernate

          評論:
          # re: Criteria的示例查詢 2006-03-24 19:01 |
          很好,謝謝  回復  更多評論
            
          # re: Criteria的示例查詢 2007-02-11 09:26 | 高溥
          假如在表里有一個日期類型的屬性,想要查詢某個時間段的數據,該怎么辦?還是示例查詢  回復  更多評論
            
          # re: Criteria的示例查詢 2007-05-17 00:17 | yellowhat
          嗯 不錯!`  回復  更多評論
            
          主站蜘蛛池模板: 鸡西市| 三亚市| 涞水县| 桓台县| 漾濞| 宣恩县| 夏河县| 文登市| 沾化县| 江油市| 中牟县| 南木林县| 河北区| 唐山市| 廉江市| 石首市| 湘乡市| 潜江市| 吐鲁番市| 东阳市| 大港区| 昭觉县| 建瓯市| 闵行区| 平定县| 长阳| 巍山| 油尖旺区| 芜湖市| 巴马| 贡觉县| 唐山市| 昌邑市| 扶风县| 黄山市| 武定县| 霍林郭勒市| 综艺| 微山县| 鄂尔多斯市| 邵阳市|