隨筆-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 小米 閱讀(2187) 評論(3)  編輯  收藏 所屬分類: Hibernate

          評論:
          # re: Criteria的示例查詢 2006-03-24 19:01 |
          很好,謝謝  回復  更多評論
            
          # re: Criteria的示例查詢 2007-02-11 09:26 | 高溥
          假如在表里有一個日期類型的屬性,想要查詢某個時間段的數據,該怎么辦?還是示例查詢  回復  更多評論
            
          # re: Criteria的示例查詢 2007-05-17 00:17 | yellowhat
          嗯 不錯!`  回復  更多評論
            
          主站蜘蛛池模板: 武宁县| 建昌县| 乐东| 拉孜县| 铜陵市| 吕梁市| 宜昌市| 山东省| 广水市| 洪湖市| 宜黄县| 诏安县| 蒙城县| 容城县| 会东县| 长岛县| 富平县| 东至县| 昭觉县| 平泉县| 舞钢市| 微博| 黄山市| 雅安市| 大名县| 资兴市| 弥渡县| 中超| 博野县| 新昌县| 兴国县| 青浦区| 津市市| 鹤峰县| 桂东县| 阜城县| 翁牛特旗| 页游| 东兴市| 大宁县| 安岳县|