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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(lèi)(467)

          文章檔案(423)

          相冊(cè)

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          QBC常用限定方法

          Restrictions.eq --> equal,等于.

          Restrictions.allEq --> 參數(shù)為Map對(duì)象,使用key/value進(jìn)行多個(gè)等于的比對(duì),相當(dāng)于多個(gè)Restrictions.eq的效果

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

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

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

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

          Restrictions.between --> 對(duì)應(yīng)SQL的between子句

          Restrictions.like --> 對(duì)應(yīng)SQL的LIKE子句

          Restrictions.in --> 對(duì)應(yīng)SQL的in子句

          Restrictions.and --> and 關(guān)系

          Restrictions.or --> or 關(guān)系

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

          Restrictions.isNotNull --> 與isNull相反

          Restrictions.sqlRestriction --> SQL限定的查詢(xún)

          Order.asc --> 根據(jù)傳入的字段進(jìn)行升序排序

          Order.desc --> 根據(jù)傳入的字段進(jìn)行降序排序

          MatchMode.EXACT --> 字符串精確匹配.相當(dāng)于"like 'value'"

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

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

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

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

          --------------------------------------------------------------------
          使用QBC實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)
          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"));//根據(jù)名字升序排列
           return criteria.list();
          }



          posted on 2007-08-23 21:26 Ke 閱讀(718) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): hibernate
          主站蜘蛛池模板: 张家川| 芜湖市| 铁力市| 龙口市| 卢湾区| 岚皋县| 犍为县| 肥西县| 边坝县| 秦皇岛市| 加查县| 阿拉尔市| 兴化市| 睢宁县| 定远县| 清流县| 海丰县| 久治县| 河间市| 巴林右旗| 河北省| 漾濞| 营山县| 茂名市| 南阳市| 金华市| 南通市| 西乌珠穆沁旗| 溆浦县| 鄂托克旗| 济阳县| 苗栗县| 开江县| 东城区| 会东县| 司法| 铜陵市| 富顺县| 秀山| 大洼县| 建瓯市|