hibernate常用api詳解++hql++sql

hibernate常用api詳解++hql++sql

ID:33585896

大?。?8.79 KB

頁數(shù):14頁

時間:2019-02-27

hibernate常用api詳解++hql++sql_第1頁
hibernate常用api詳解++hql++sql_第2頁
hibernate常用api詳解++hql++sql_第3頁
hibernate常用api詳解++hql++sql_第4頁
hibernate常用api詳解++hql++sql_第5頁
資源描述:

《hibernate常用api詳解++hql++sql》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、)hibernate常用API詳解分類:?Hibernate2013-05-2518:55?1251人閱讀?評論(0)?收藏?舉報轉自:http://blessht.iteye.com/blog/1327883hibernate常用API詳解以下示例均以兩張表為例:member和userinfo,member帳號信息表外鍵關聯(lián)userinfo用戶基本信息表,主鍵自動生成即可?然后映射出的POJO如下:publicclassUserinfo??implementsSerializable{//primarykey????private?java.lang.Integer?id;????//

2、fields????private?java.lang.String?name;????private?java.lang.String?code;????private?java.lang.String?birthday;????private?java.lang.String?address;????private?java.util.Date?createTime;????private?java.lang.Integer?deleteFlag;?????//collections????private?java.util.Set?m

3、embers;?????????????????//省略?gettersetter}?publicclassMemberimplementsSerializable{//primarykey????private?java.lang.Integer?id;?????//fields????private?java.lang.String?loginCode;????private?java.lang.String?password;????private?java.lang.Integer?deleteFlag;?????//manytoone????private?com.bless.

4、model.Userinfo?fkUserinfo;??????????//省略gettersetter}????1、Hibernate提供多種方法查詢數(shù)據(jù)庫數(shù)據(jù)下面以一個最簡單的查詢?yōu)槔篠ELECT*FROMTABLE為例1-1簡單HQL語句查詢Hibernate提供了HQL查詢,HQL是Hibernate推薦語句,它屏蔽了不同數(shù)據(jù)庫SQL不兼容的問題,使用HQL寫的查詢語句在主流數(shù)據(jù)庫上都能執(zhí)行。執(zhí)行HQL需要創(chuàng)建Query對象:getSession().createQuery(hql語句);簡單HQL格式:FROMPOJO?對應SQL語句:SELECT*FROMPOJO對應的表名

5、?千萬注意:HQL語句中的表名和字段名不是數(shù)據(jù)庫的表名和字段名,而是對應ORM映射POJO的類名和屬性名!?Java代碼??1.Query?query?=?baseDao.getQuery("FROM?Member");??2.List?lstM?=?query.list();??3.for?(Member?member?:?lstM)?{??4.System.out.println("id:"+member.getId()+"???fk_id:"+member.getFkUserinfo().getId());??5.}????結果:一句SQL將所有結果查詢出來?如果修

6、改一下for循環(huán)的代碼,查詢FK的name:?Java代碼??1.for?(Member?member?:?lstM)?{??2.System.out.println("id:"+member.getId()+"???fk_id:"+member.getFkUserinfo().getName());??3.}????結果:一句SQL查詢Member表,每一次for循環(huán)又發(fā)一句SQL查詢Userinfo表總結:被查詢表中如果有外鍵關聯(lián),在執(zhí)行查詢時能將外鍵關聯(lián)字段的值查詢出來,但如果想查詢關聯(lián)表的其它字段會另外發(fā)SQL,這個特別要注意!??1-2簡單SQL語句查詢?Hibernate同樣

7、支持寫SQL,對原生SQL查詢執(zhí)行的控制是通過SQLQuery接口進行的,通過執(zhí)行Session.createSQLQuery()獲取這個接口?Java代碼??1.SQLQuery?sql?=?baseDao.getSQLQuery("SELECT?*?FROM?member");??2.//查詢出的結果放到指定POJO中??3.sql.addEntity(Member.class);??4.List?lstM?=?

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。