当前位置:编程学习 > JAVA >>

Hibernate的查询 标准(Criteria)查询 分页、单个记录、排序

分页:
其实标准查询的分页很简单,在Criteria中提供了两个方法,setFirstResult方法和setMaxResults,一个是数据的开始位置0表示第一条记录,一个是返回的记录数。
 
Java代码 
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。
Java代码 
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静态方法能满足这个需求
Java代码 
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()); 
    } 

 作者:dyllove98
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,