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

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

ID:33585896

大?。?8.79 KB

頁數(shù):14頁

時(shí)間: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》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、)hibernate常用API詳解分類:?Hibernate2013-05-2518:55?1251人閱讀?評(píng)論(0)?收藏?舉報(bào)轉(zhuǎn)自:http://blessht.iteye.com/blog/1327883hibernate常用API詳解以下示例均以兩張表為例:member和userinfo,member帳號(hào)信息表外鍵關(guān)聯(lián)userinfo用戶基本信息表,主鍵自動(dòng)生成即可?然后映射出的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ù)下面以一個(gè)最簡單的查詢?yōu)槔篠ELECT*FROMTABLE為例1-1簡單HQL語句查詢Hibernate提供了HQL查詢,HQL是Hibernate推薦語句,它屏蔽了不同數(shù)據(jù)庫SQL不兼容的問題,使用HQL寫的查詢語句在主流數(shù)據(jù)庫上都能執(zhí)行。執(zhí)行HQL需要?jiǎng)?chuàng)建Query對(duì)象:getSession().createQuery(hql語句);簡單HQL格式:FROMPOJO?對(duì)應(yīng)SQL語句:SELECT*FROMPOJO對(duì)應(yīng)的表名

5、?千萬注意:HQL語句中的表名和字段名不是數(shù)據(jù)庫的表名和字段名,而是對(duì)應(yīng)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.}????結(jié)果:一句SQL將所有結(jié)果查詢出來?如果修

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.}????結(jié)果:一句SQL查詢Member表,每一次for循環(huán)又發(fā)一句SQL查詢Userinfo表總結(jié):被查詢表中如果有外鍵關(guān)聯(lián),在執(zhí)行查詢時(shí)能將外鍵關(guān)聯(lián)字段的值查詢出來,但如果想查詢關(guān)聯(lián)表的其它字段會(huì)另外發(fā)SQL,這個(gè)特別要注意!??1-2簡單SQL語句查詢?Hibernate同樣

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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