首先寫hql語句,string hql = 「from user」,user是你要查詢的物件類名,當類名不唯一時需要寫出完整類名,比如在乙個專案中兩個包中都含有user類時,hql語句應該這樣寫, stirng hql = "from com.ss.model.user";
根據hql語句建立查詢物件。 session.createquery(string arg);arg為hql語句。
根據查詢物件獲得查詢結果。 query類有兩個方法獲得結果。 query.list() : 你知道查詢結果會有多個物件時,獲取list集合。 query.uniqueresult() :接受唯一的查詢結果
示例**
session session = hibernateutil.getsession(); // 獲取session
transaction tx = session.begintransaction(); // 開啟事務
string hql = "from user"; // 查詢所有user類物件
query query= session.createquery(hql); //根據hql語句獲得建立查詢物件
//listlist = query.list(); 返回集合,不止一條記錄
輸出結果
user user = (user)query.uniqueresult(); // 返回一條物件,一條記錄
system.out.println(user); //輸出結果
tx.commit(); // 提交事務
session.close(); //關閉session
1>使用?號佔位符session session = hibernateutil.getsession(); // 獲取session
transaction tx = session.begintransaction(); // 開啟事務
string hql = "from user where id = ?"; // 1.查詢所有user類物件
query query= session.createquery(hql); //2.根據hql語句獲得建立查詢物件
query.setparameter(0, 1); // 3.設定引數 ,注意:?號從0開始數.
user user = (user)query.uniqueresult(); // 4.返回一條物件,一條記錄
system.out.println(user); //輸出結果
tx.commit(); // 提交事務
session.close(); //關閉session
2>使用命名佔位符
命名佔位符是在hql語句中以 : 開頭,後面自己設定屬性名,一般與類屬性相同。
例:"from user where id = :id"
session session = hibernateutil.getsession(); // 獲取session
transaction tx = session.begintransaction(); // 開啟事務
string hql = "from user where id = :id"; // 1.查詢所有user類物件,
query query= session.createquery(hql); //2.根據hql語句獲得建立查詢物件
query.setparameter("id", 1); // 3.設定引數 ,
user user = (user)query.uniqueresult(); // 4.返回一條物件,一條記錄
system.out.println(user); //輸出結果
tx.commit(); // 提交事務
session.close(); //關閉session
session session = hibernateutil.getsession(); // 獲取session
transaction tx = session.begintransaction(); // 開啟事務
string hql = "from user"; // 1.查詢所有user類物件,
query query= session.createquery(hql); //2.根據hql語句獲得建立查詢物件
//3.設定分頁資訊limit ?,?
query.setfirstresult(2); // 設定起點
query.setmaxresults(2); // 設定查詢最大記錄數
listlist = query.list(); // 4.返回list集合,多條記錄
system.out.println(list); //輸出結果
tx.commit(); // 提交事務
session.close(); //關閉session
hibernate中使用儲存過程
hibernate中使用儲存過程 如果底層資料庫 如oracle 支援儲存過程,也可以通過儲存過程來執行批量更新。儲存過程直接在資料庫中執行,速度更加快。在oracle資料庫中可以定義乙個名為batchupdatestudent 的儲存過程,如下 create or replace procedur...
在Eclipse中使用Hibernate 四
產生資料庫中的表 很清楚,你可以用hibernate synchronizer來做靈巧的事情。我會在我自己的hibernate專案中使用該外掛程式嗎?這個想法有其它一些優缺點需要考慮,可能現在還不是做決定的時候,直到需要用hibernate來取代自家釀 當然非常簡單 的 已經在工作的輕量級o r工具...
hibernate中使用enum型別
1.在pojo 實體類中定義了乙個customer 類和乙個枚舉子類partner.class customer class enum partner 在寫入資料庫的時候,可以選擇寫入int 型別或者string 型別.這個取決於配置.下面的配置是寫入字串到資料庫中 import j ax.pers...