Hibernate的查詢 標準(Criteria)查詢 分頁、單個記錄、排序 – JAVA編程語言程序開發技術文章

分頁:
其實標準查詢的分頁很簡單,在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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。