版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、初識(shí)HibernateGavin King什么是Hibernate什么是持久化什么是ORM添加Hibernate支持分析添加支持后的工程結(jié)構(gòu)及內(nèi)容利用DB Browser的反向設(shè)計(jì)生成ORM文件用Hibernate完成持久化操作Hibernate創(chuàng)始人Gavin King2001年以前,Gavin King是一個(gè)名不見(jiàn)經(jīng)傳的小人物,平凡的如同你我一樣。他的不同之處在于它的激情漫溢、脾氣倔強(qiáng)和永不言敗。在工作過(guò)程中他覺(jué)得總是花很多時(shí)間進(jìn)行重復(fù)性的編碼,他相信自己可以找到一個(gè)更好的方法提高數(shù)據(jù)訪(fǎng)問(wèn)層的編碼效率。兩年后,他做到了。他開(kāi)發(fā)出了全世界最流行的對(duì)象-關(guān)系映射工具:Hibernate。那個(gè)對(duì)
2、SQL和數(shù)據(jù)庫(kù)一竅不通的小伙子居然成了全世界Java數(shù)據(jù)庫(kù)持久化解決方案的領(lǐng)導(dǎo)者!熱情,堅(jiān)持和他永不言敗的性格幫助Gavin成了ORM領(lǐng)域的國(guó)王。JDBC和數(shù)據(jù)的三種狀態(tài)JDBC是一套規(guī)范,它規(guī)定了統(tǒng)一的標(biāo)準(zhǔn)接口,各個(gè)數(shù)據(jù)庫(kù)廠(chǎng)商提供標(biāo)準(zhǔn)接口的實(shí)現(xiàn)。在沒(méi)有JDBC的時(shí)候,每個(gè)數(shù)據(jù)庫(kù)廠(chǎng)商都有自己的一套API,開(kāi)發(fā)人員訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)和更換數(shù)據(jù)庫(kù)相當(dāng)困難。JDBC到今天仍然是Java訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的基石,簡(jiǎn)單直接,嵌入語(yǔ)句,面向關(guān)系?;仡橨DBC:瞬時(shí)狀態(tài)(Transient):保存在內(nèi)存中的某些數(shù)據(jù),在程序退出后不再存在。持久狀態(tài)(Persistent):在程序退出后,還以文件形式保存在存儲(chǔ)設(shè)備(硬盤(pán),光盤(pán)
3、)中。脫管狀態(tài)(Detached ):數(shù)據(jù)從數(shù)據(jù)庫(kù)中讀取到內(nèi)存中。本質(zhì)和瞬時(shí)狀態(tài)相同。數(shù)據(jù)的三種狀態(tài):什么是持久化持久化:將程序中數(shù)據(jù)在瞬時(shí)狀態(tài)和持久狀態(tài)間轉(zhuǎn)換的機(jī)制。之前我們通常將數(shù)據(jù)保存在哪?在三層結(jié)構(gòu)中,DAO(數(shù)據(jù)訪(fǎng)問(wèn)層)也稱(chēng)為持久層,因?yàn)樵搶又饕袚?dān)將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。持久化要完成的操作就是把對(duì)象保存到關(guān)系型數(shù)據(jù)庫(kù)中,或者把數(shù)據(jù)庫(kù)中的數(shù)據(jù)讀出來(lái),以對(duì)象的形式封裝。我們以前使用的JDBC就是一種持久化機(jī)制。將程序數(shù)據(jù)直接保存成文本文件也是持久化機(jī)制的一種實(shí)現(xiàn)。什么是XMLxml:可擴(kuò)展標(biāo)記語(yǔ)言,和HTML一樣,是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù)。
4、極其簡(jiǎn)單易于掌握和使用。 XML與HTML的設(shè)計(jì)區(qū)別是:XML是用來(lái)存儲(chǔ)數(shù)據(jù)的,重在數(shù)據(jù)本身。而HTML是用來(lái)定義數(shù)據(jù)的,重在數(shù)據(jù)的顯示模式。本節(jié)課,我們將配合一個(gè)例子,步入Hibernate的殿堂。在此,我已經(jīng)建立了一個(gè)HibTest的數(shù)據(jù)庫(kù),其中有一張admin的表,結(jié)構(gòu)如圖:添加Hibernate支持1.配置DB Browser在myEclipse的工具欄中,WindowShow ViewOtherMyEclipse DatabaseDB Browser打開(kāi)DB Browser。在MyEclipse上單擊右鍵,選擇Edit。添加Hibernate支持配置DB Browser點(diǎn)擊Test
5、Driver測(cè)試數(shù)據(jù)庫(kù)連接是否成功。添加Hibernate支持配置DB Browser在配置好的DB Driver上右鍵,然后選擇Open connection即可以看到數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)庫(kù)信息添加Hibernate支持用MyEclipst為Web工程添加Hibernate支持在Web工程上,單擊右鍵,添加HIbernate支持添加Hibernate支持用MyEclipst為Web工程添加Hibernate支持按圖配置,然后Next添加Hibernate支持用MyEclipst為Web工程添加Hibernate支持在src目錄下添加hibernate配置文件。添加Hibernate支持用MyE
6、clipst為Web工程添加Hibernate支持配置JDBC信息,然后Next添加Hibernate支持用MyEclipst為Web工程添加Hibernate支持單擊finish,配置結(jié)束分析添加支持后的工程結(jié)構(gòu)及內(nèi)容1.Hibernate.cfg.xml配置文件中配置了我們需要的數(shù)據(jù)庫(kù)連接信息和Hibernate參數(shù)2.SessionFactory是一個(gè)產(chǎn)生Session的工廠(chǎng)類(lèi)。利用DB Browser的反向設(shè)計(jì)生成ORM文件按圖配置,然后Next利用DB Browser的反向設(shè)計(jì)生成ORM文件按圖配置,ID Generator選native,然后Next利用DB Browser的反向設(shè)
7、計(jì)生成ORM文件Hibernate常用主鍵介紹主鍵介紹assigned由程序生成主鍵值,主鍵的生成值完全由用戶(hù)決定,與底層數(shù)據(jù)庫(kù)無(wú)關(guān)。 HiloHilo使用高低位算法生成主鍵,高低位算法使用一個(gè)高位值和一個(gè)低位值,然后把算法得到的兩個(gè)值拼接起來(lái)作為數(shù)據(jù)庫(kù)中的唯一主鍵。Hilo方式需要額外的數(shù)據(jù)庫(kù)表和字段提供高位值來(lái)源。 Identity Identity當(dāng)時(shí)根據(jù)底層數(shù)據(jù)庫(kù),來(lái)支持自動(dòng)增長(zhǎng),不同的數(shù)據(jù)庫(kù)用不同的主鍵增長(zhǎng)方式。要求數(shù)據(jù)庫(kù)支持Identity 。SequenceSequence需要底層數(shù)據(jù)庫(kù)支持Sequence方式,例如Oracle數(shù)據(jù)庫(kù)等,需要底層數(shù)據(jù)庫(kù)的支持序列。NativeNa
8、tive主鍵生成方式會(huì)根據(jù)不同的底層數(shù)據(jù)庫(kù)自動(dòng)選擇Identity、Sequence、Hilo主鍵生成方式。據(jù)不同的底層數(shù)據(jù)庫(kù)采用不同的主鍵生成方式。便于程序移植,項(xiàng)目中如果用到多個(gè)數(shù)據(jù)庫(kù)時(shí),可以使用這種方式。 foreign 使用外部表的字段作為主鍵。 利用DB Browser的反向設(shè)計(jì)生成ORM文件按圖配置,然后Finish利用DB Browser的反向設(shè)計(jì)生成ORM文件entity包下自動(dòng)生成了Admin實(shí)體類(lèi)和Admin.hbm.xml映射文件利用DB Browser的反向設(shè)計(jì)生成ORM文件實(shí)體類(lèi)映射到數(shù)據(jù)庫(kù)那張表,以及那個(gè)屬性對(duì)應(yīng)數(shù)據(jù)庫(kù)表的哪個(gè)字段,都在映射文件中配置。用Hibernate完成持久化操作用Hibernate實(shí)現(xiàn)查詢(xún)數(shù)據(jù)用Hibernate完成持久化操作用Hibernate實(shí)現(xiàn)修改數(shù)據(jù)執(zhí)行修改后的數(shù)據(jù)執(zhí)行修改后的數(shù)據(jù)總結(jié)用Hiberntae完成持久化的步驟1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026北京豐臺(tái)初三上學(xué)期期末英語(yǔ)試卷和答案
- 2026年智能香氛安全監(jiān)測(cè)系統(tǒng)項(xiàng)目營(yíng)銷(xiāo)方案
- 2026年智能浴巾架 (加熱)項(xiàng)目評(píng)估報(bào)告
- 2025年江蘇省宿遷市中考生物真題卷含答案解析
- 降水井及降水施工方案
- 2025年機(jī)動(dòng)車(chē)檢測(cè)站試卷及答案
- 【2025年咨詢(xún)工程師決策評(píng)價(jià)真題及答案】
- 小學(xué)學(xué)校德育工作總結(jié)范文(完美版)
- 醫(yī)院突發(fā)公共衛(wèi)生事件培訓(xùn)與演練方案
- 住宅小區(qū)園林景觀(guān)綠化工程施工組織設(shè)計(jì)方案
- 2025年安徽省從村(社區(qū))干部中錄用鄉(xiāng)鎮(zhèn)(街道)機(jī)關(guān)公務(wù)員考試測(cè)試題及答案
- 項(xiàng)目管理溝通矩陣表格
- 壓密注漿地基施工質(zhì)量控制方案
- 影視表演知識(shí)培訓(xùn)課件
- 石墨烯神經(jīng)保護(hù)-洞察與解讀
- 車(chē)輛中心面試車(chē)輛管理題
- 消除艾滋病、梅毒和乙肝母嬰傳播鄉(xiāng)村醫(yī)生培訓(xùn)會(huì)-課件
- 制造企業(yè)總經(jīng)理年終總結(jié)
- 供應(yīng)室去污區(qū)工作總結(jié)
- 隧道防水知識(shí)培訓(xùn)課件
- 學(xué)堂在線(xiàn) 雨課堂 學(xué)堂云 中國(guó)傳統(tǒng)藝術(shù)-篆刻、書(shū)法、水墨畫(huà)體驗(yàn)與欣賞 章節(jié)測(cè)試答案
評(píng)論
0/150
提交評(píng)論