Hibernate createSQLQuery方法:建立SQLQuery物件

2020-07-16 10:05:03
createSQLQuery 方法用來生成一個基於 SQL 查詢字串的 Query 物件。通過該方法可以直接使用資料庫 SQL 語言進行查詢,並對查詢結果進行了簡單封裝,不必再對 ResultSet 進行煩瑣的操作,因為查詢結果依然是由持久化物件組成的集合,仍然可以用物件導向的思想進行程式設計。

語法:

createSQLQuery(String queryString)

引數說明:
  • queryString:SQL 查詢字串。

返回值:Query 物件。

範例

應用 SQL 查詢全部使用者資訊,並儲存到 List 集合中,關鍵程式碼如下:
Session session = sessionFactory.openSession();  //建立Session物件
String sql = "select*from tb_user";  //指定SQL語句
List list = null;
List rtnList = new ArrayList();  //建立儲存查詢結果的集合物件
try{
  Query query = session.createSQLQuery(sql);  //執行SQL語句
  Iterator it = query.list().iterator();
  while(it.hasNext()){  //通過迴圈將查詢到的使用者資訊儲存到List集合中
    UserForm uf = new UserForm();  //定義儲存使用者資訊的JavaBean物件
    Object[] o = (Object[])it.next();
    uf.setId((Integer)o[0]);
    uf.setUsername((String)o[1]);
    uf.setPwd((String)o[2]);
    rtnList.add(uf);  //向集合中新增物件
  }
}catch(Exception e){
  System.out.println("查詢使用者資訊時的錯誤資訊:"+e.getMessage());
}