隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          QBC常用限定方法

          Restrictions.eq --> equal,等于.

          Restrictions.allEq --> 參數為Map對象,使用key/value進行多個等于的比對,相當于多個Restrictions.eq的效果

          Restrictions.gt --> great-than > 大于

          Restrictions.ge --> great-equal >= 大于等于

          Restrictions.lt --> less-than, < 小于

          Restrictions.le --> less-equal <= 小于等于

          Restrictions.between --> 對應SQL的between子句

          Restrictions.like --> 對應SQL的LIKE子句

          Restrictions.in --> 對應SQL的in子句

          Restrictions.and --> and 關系

          Restrictions.or --> or 關系

          Restrictions.isNull --> 判斷屬性是否為空,為空則返回true

          Restrictions.isNotNull --> 與isNull相反

          Restrictions.sqlRestriction --> SQL限定的查詢

          Order.asc --> 根據傳入的字段進行升序排序

          Order.desc --> 根據傳入的字段進行降序排序

          MatchMode.EXACT --> 字符串精確匹配.相當于"like 'value'"

          MatchMode.ANYWHERE --> 字符串在中間匹配.相當于"like '%value%'"

          MatchMode.START --> 字符串在最前面的位置.相當于"like 'value%'"

          MatchMode.END --> 字符串在最后面的位置.相當于"like '%value'"

          例子
          查詢年齡在20-30歲之間的所有學生對象
          List list = session.createCriteria(Student.class)
                .add(Restrictions.between("age",new Integer(20),new Integer(30)).list();
          查詢學生姓名在AAA,BBB,CCC之間的學生對象
          String[] names = {"AAA","BBB","CCC"};
          List list = session.createCriteria(Student.class)
                .add(Restrictions.in("name",names)).list();
          查詢年齡為空的學生對象
          List list = session.createCriteria(Student.class)
                .add(Restrictions.isNull("age")).list();
          查詢年齡等于20或者年齡為空的學生對象
          List list = session.createCriteria(Student.class)
                .add(Restrictions.or(Restrictions.eq("age",new Integer(20)),
                           Restrictions.isNull("age")).list();

          --------------------------------------------------------------------
          使用QBC實現動態查詢
          public List findStudents(String name,int age){

           Criteria criteria = session.createCriteria(Student.class);
           if(name != null){
            criteria.add(Restrictions.liek("name",name,MatchMode.ANYWHERE));
           }
           if(age != 0){
            criteria.add(Restrictions.eq("age",new Integer(age)));
           }
           criteria.addOrder(Order.asc("name"));//根據名字升序排列
           return criteria.list();
          }



          posted on 2007-08-23 21:26 Ke 閱讀(718) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 林周县| 乡宁县| 北京市| 郯城县| 杨浦区| 宁安市| 威远县| 怀柔区| 乌拉特中旗| 唐山市| 依兰县| 东乡县| 静安区| 报价| 沁水县| 嫩江县| 木里| 阳泉市| 金溪县| 报价| 苍山县| 陵川县| 大足县| 当阳市| 安乡县| 长海县| 北京市| 崇仁县| 泽州县| 卢氏县| 嘉荫县| 德钦县| 玉环县| 防城港市| 东山县| 武冈市| 石嘴山市| 内乡县| 老河口市| 叙永县| 伊吾县|