隨筆-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
          嗯 不錯!`  回復  更多評論
            
          主站蜘蛛池模板: 宝坻区| 华蓥市| 县级市| 新沂市| 襄垣县| 历史| 曲麻莱县| 东方市| 辛集市| 吉安县| 思南县| 荥经县| 晋宁县| 隆子县| 绵竹市| 荣成市| 资兴市| 化州市| 邓州市| 海盐县| 阿拉善右旗| 宾阳县| 临颍县| 武清区| 华宁县| 桦甸市| 朝阳区| 谢通门县| 天门市| 宜兴市| 澄江县| 东光县| 岳阳县| 浑源县| 吉安市| 渝北区| 田东县| 大渡口区| 萨嘎县| 荃湾区| 友谊县|