浏览 1966 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-05-09
分页: 其实标准查询的分页很简单,在Criteria中提供了两个方法,setFirstResult方法和setMaxResults,一个是数据的开始位置0表示第一条记录,一个是返回的记录数。
public void searchByPropertys() { Session session = this.getSession(); Criteria crit = session.createCriteria(Conft.class); crit.setFirstResult(0); crit.setMaxResults(10); List<Conft> list = crit.list(); for(Conft conft : list){ System.out.println(conft.getId()); } }
这样会返回数据库前十条记录!
返回一条记录: Criteria接口的uniqueResult方法返回一个Object对象,如果没有查到数据则返回null。 public void searchByPropertys() { Session session = this.getSession(); Criteria crit = session.createCriteria(Conft.class); crit.add(Restrictions.eq("id", 2)); // = Conft conft = (Conft)crit.uniqueResult(); System.out.println(conft.getId()); }
如果调用时返回的不是一条记录,会爆出异常!
排序: Oder对象的asc和desc静态方法能满足这个需求 public void searchByPropertys() { Session session = this.getSession(); Criteria crit = session.createCriteria(Conft.class); crit.addOrder(Order.desc("id")); List<Conft> list = crit.list(); for(Conft conft : list){ System.out.println(conft.getId()); } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |