Hibernate Criteria介面 list方法:返回一個List集合

2020-07-16 10:04:57
list 方法用來返回一個 List 集合,該集合中儲存著與查詢條件相匹配的查詢結果。

語法:

list()


返回值:List 集合。

範例

應用 QBC查詢,查詢年齡大於等於 30 的使用者資訊,並將查詢結果儲存到 List 集合中,關鍵程式碼如下:
Session session = sessionFactory.openSession();  //獲取session物件
List list = null;
try{
  Criteria criteria = session.createCriteria(UserForm.class);  //獲取Criteria物件
  criteria.add(Restrictions.gt("age",30));
  list = criteria.list();  //執行查詢結果
}catch(Exception e){
  System.out.println("查詢使用者資訊時的錯誤資訊:"+e.getMessage());
}

典型應用

本範例實現查詢 tb_users 表,並對查詢結果使用編號進行降序排序。

本範例使用 Hibernate 框架查詢資料,在使用該框架前要建立與使用者表 tb_users 對應的 JavaBean 物件 Users,與其對映檔案 Users.hbm.xml,可參考下載的原始碼。建立 FindStu 類,在該類中定義查詢使用者資訊方法,關鍵程式碼如下:
public static void main(String[] args){
  Session session = null;  //宣告Session物件
  try{
    session = HibernateUtil.getSession();  //獲取Session
    session.beginTransaction();  //開啟事務
    List list = null;  //宣告一個List集合物件
    try{
      Criteria criteria = session.createCriteria(Users.class);  //獲取Criteria物件
      criteria.addOrder(Order.desc("id"));  //設定結果集排序順序
      list = criteria.list();  //執行查詢結果
      Iterator it = list.iterator();  //建立查詢結果疊代器
      System.out.println("按編號降序排序");
      while(it.hasNext()){//迴圈遍歷疊代器
        Users users = (Users)it.next();  //建立JavaBean物件
        int id = users.getId();  //設定物件屬性
        String name = users.getuName();
        System.out.println("編號為:"+id+"姓名為:"+name);
      }
    }catch(Exception e){
      System.out.println("查詢使用者資訊時的錯誤資訊:"+e.getMessage());
    }
    session.getTransaction().commit();  //提交事務
  }catch(Exception e){
    e.printStackTrace();
    session.getTransaction().rollback();  //出錯將回滾事務
  }finally{
    HibernateUtil.closeSession(session);  //關閉Session物件
  }
}
執行結果如下:
按編號降序排序
編號為:5    姓名為:tsoft
編號為:4    姓名為:小劉
編號為:3    姓名為:小李
編號為:2    姓名為:小王
編號為:1    姓名為:mr