Criteria查询
1、Criteria表達式
Criteria c=session.createCriteria(User.class);
List result=c.list();
Iterator it=result.iterator();
while(it.hasNext()){
User u=it.next();
System.out.println("用戶名:"+u.getName());
}
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("name", "bob"));
List result = criteria.list();
Iterator it = result.iterator();
while (it.hasNext()) {
User user = (User) it.next();
System.out.println("用戶名:" + user.getName());
}
方法 說明
Restrictions.eq() 對應SQL的等于(’=’)
Restrictions.allEq() 使用Map,使用key/value進行多個相等的值的比對
Restrictions.gt() 對應SQL的大于 (‘>’)
Restrictions.ge() 對應SQL的大于等于 (‘>=’)
Restrictions.lt() 對應SQL的小于 (‘<’)
Restrictions.le() 對應SQL的小于等于 (‘<=’)
Restrictions.between() 對應SQL的between子句
Restrictions.like() 對應SQL的like子句
Restrictions.in() 對應SQL的in子句
Restrictions.and() 對應SQL的and
Restrictions.or() 對應SQL的or
Restrictions.not() 對應SQL的not
2、使用Example
House house = new House();
house.setPrice(new Double(2000));
house.setFloorage(new Integer(40));
Criteria criteria = session.createCriteria(House.class);
criteria.add(Example.create(house));
List results = criteria.list();
Iterator it = results.iterator();
while(it.hasNext()){
House h= (House)it.next();
System.out.println("標題:"+h.getTitle()+" 價格"+h.getPrice());
}
3、Criteria查詢排序
Criteria 查詢不僅能組合出SQL中的where子句的功能,還可以組合出排序查詢功能
使用org.hibernate.criterion.Order對結果進行排序
排序的方法為:asc() desc()
Cirteria c=session.createCriteria(House.class);
c.addOrder(Order.desc("price"));
4、Criteria查詢實現分頁
Criteria的setMaxResult()方法可以限定查詢返回數據的行數
Criteria的setFirstResult()設定查詢返回結果的第一行數據的位置
Criteria c=session.createCriteria(Hose.class);
c.setFistResult(3);
c.setMaxResult(2);
List result=c.list();
Iterator it=result.iterator();
while(it.hasNext()){
Hose h=it.next();
System.out.println("標題"+h.getTitle+"價格"+h.getPrice());
}
總結
以上是生活随笔為你收集整理的Criteria查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结婚在农村办理婚礼 在农村座福 市区有
- 下一篇: 灯光秀截止日期