版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、大白菜收集制作 更多 第一章 ORM 概述 目標(biāo): 理解ORM 熟悉Hibernate 的作用,1,1. 2. 3. 4. 5.,大白菜收集制作 更多 軟件分層的優(yōu)點(diǎn) 伸縮性 可維護(hù)性 可擴(kuò)展性 可重用性 可管理性,2,內(nèi)存 姓名:張三 密碼:123 性別:男 用JDBC完成數(shù)據(jù)在持久和瞬時(shí)狀 態(tài)間的轉(zhuǎn)換: *.execute ( ) . 磁盤,什么是持久化? 瞬時(shí)狀態(tài): 保存在內(nèi)存的程序數(shù)據(jù),程序退出 后,數(shù)據(jù)就消失了,稱為瞬時(shí)狀態(tài) 持久狀態(tài): 保存在磁盤上的程序數(shù)據(jù),程序退 出后依然存在,稱為程序數(shù)據(jù)的持 久狀態(tài) 持久化: 將程序數(shù)據(jù)在瞬時(shí)狀態(tài)和持久狀態(tài) 之間轉(zhuǎn)換的機(jī)制,大白菜收集制作 更
2、多 Hibernate是一個(gè)優(yōu)秀的持久化框架,3,Dao,DB,用JDBC 持久數(shù)據(jù),大白菜收集制作 更多 Action Server,4,Hiberante應(yīng)用程序的結(jié)構(gòu) (1)Application:應(yīng)用 (2)Persistent Object:持久化對象 (3)perties:Hibernate 屬性文件/Hibernate配置文件 (4)XML Mapping:Hibernate映射文 件 (5)Database:數(shù)據(jù)庫,大白菜收集制作 更多,5,JDBC與Hibernate的比較 相同點(diǎn):, ,兩者都是JAVA的數(shù)據(jù)庫操作中間件。 兩者對于數(shù)據(jù)庫進(jìn)行直接操
3、作的對象都不是線程安全的,都需要及時(shí)關(guān)閉。 兩者都可以對數(shù)據(jù)庫的更新操作進(jìn)行顯式的事務(wù)處理。,不同點(diǎn):, ,使用的SQL語言不同:JDBC使用的是基于關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)SQL語言,Hibernate 使用的是HQL(Hibernate query language)語言 操作的對象不同:JDBC操作的是數(shù)據(jù),將數(shù)據(jù)通過SQL語句直接傳送到數(shù)據(jù)庫中執(zhí)行, Hibernate操作的是持久化對象,由底層持久化對象的數(shù)據(jù)更新到數(shù)據(jù)庫中。 數(shù)據(jù)狀態(tài)不同:JDBC操作的數(shù)據(jù)是“瞬時(shí)”的,變量的值無法與數(shù)據(jù)庫中的值保持一 致,而Hibernate操作的數(shù)據(jù)是可持久的,即持久化對象的數(shù)據(jù)屬性的值是可以跟數(shù)據(jù)
4、庫中的值保持一致的。,大白菜收集制作 更多,6,對象數(shù)據(jù)(O) User對象 name:張三 sex:男 pw:123,表現(xiàn)層 業(yè)務(wù)邏輯層,關(guān)系型數(shù)據(jù),(R),映射信息, 什么是ORM? ORM(對象-關(guān)系映射): 完成對象數(shù)據(jù)到關(guān)系型數(shù)據(jù)映射 的機(jī)制稱為對象-關(guān)系映射,簡稱,ORM。 持久化層,類: User,表: TBL_User,TBL_User,大白菜收集制作 更多,7,小結(jié) 是一個(gè)主流的持久化框架 在JDBC基礎(chǔ)上進(jìn)行分裝 只需要少量代碼就可以完成持久化工作 是一個(gè)優(yōu)秀的ORM(對象-關(guān)系映射)機(jī)制 通過映射文件保存映射信息 在業(yè)務(wù)層以面向?qū)ο蟮姆绞骄幊蹋挥每紤]數(shù)據(jù)保存 形式,大白
5、菜收集制作 更多,8,3個(gè)準(zhǔn)備 1) 添加Hibernate庫到項(xiàng)目,大白菜收集制作 更多,9,2-1):添加配置文件 - hibernate.cfg.xml jdbc:microsoft:sqlserver:/localhost:1433;Database=pubs sa pwd com.microsoft.jdbc.sqlserver.SQLServerDriver org.hibernate.dialect.SQLServerDialect true ,大白菜收集制作 更多,10,2-2):添加配置文件 - hibernate.cfg.xml org.hibernate.dialect.
6、SQLServerDialect java:/comp/env/pubs hibernate ,大白菜收集制作 更多,11,準(zhǔn)備3:添加實(shí)體類和映射文件(UserInfo.hbm.xml),大白菜收集制作 更多,12,7、 關(guān)閉Session 6、 提交事務(wù),5、 持久化操作,save/update/delete/find,2、 創(chuàng)建 SessionFactory 3、 打開 Session 4、 開始一個(gè)事務(wù),使用Hibernate的7個(gè)步驟: 1、 Configuration,大白菜收集制作 更多,13,User.hbm.xml,Transaction,Configuration 創(chuàng)建 S
7、essionFactory 創(chuàng)建 Session 執(zhí)行,Hibernate.cfg.xml FWXX.cfg.xml 開始,save delete update get mit() session.close() 結(jié)束,創(chuàng)建和銷毀都相當(dāng)耗費(fèi) 資源,通常一個(gè)系統(tǒng)內(nèi) 一個(gè)數(shù)據(jù)庫只創(chuàng)建一個(gè) 類似于JDBC中的 Connection,復(fù)雜的查詢操作稍后介紹,大白菜收集制作 更多,14,根據(jù)主鍵加載 Session session = sf.openSession();,修改,User user = (User)session.get(User.class, id); session.close();
8、System.out.println(user.getUname() + , + user.getUpass(); tx = session.beginTransaction(); User user = this.testLoad(id); user.setUname(new Name); session.update(user); mit(); tx = session.beginTransaction(); User user = this.testLoad(id); session.delete(user); mit();,沒有更新數(shù)據(jù), 不進(jìn)行事務(wù)控 制,大白菜收集制作 更多,15,Hibernate 使用Hibernate實(shí)現(xiàn): 配置Hibernate關(guān)聯(lián)自動(dòng)加載區(qū)縣對應(yīng)的街道 配置
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國休閑女包市場運(yùn)行現(xiàn)狀及投資發(fā)展前景預(yù)測報(bào)告
- 2025-2030年中國丙綸纖維行業(yè)發(fā)展現(xiàn)狀及投資前景規(guī)劃研究報(bào)告
- 2025-2030年中國三異丁基鋁市場十三五規(guī)劃與投資風(fēng)險(xiǎn)評估報(bào)告
- 浙江2024年浙江省海洋地質(zhì)調(diào)查大隊(duì)選調(diào)工作人員筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 2025-2030年中國CG行業(yè)運(yùn)營狀況與發(fā)展?jié)摿Ψ治鰣?bào)告
- 2024版冷藏車租賃合同
- 2024版供應(yīng)鏈管理補(bǔ)充協(xié)議:增項(xiàng)部分版B版
- 2025年人教版高二英語上冊階段測試試卷含答案
- 河南2024年河南工業(yè)和信息化職業(yè)學(xué)院招聘博士研究生2人筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 2025年外研版九年級科學(xué)上冊月考試卷含答案
- 老年人的安全保護(hù)及預(yù)防措施課件
- ICU鎮(zhèn)痛鎮(zhèn)靜治療知情同意書
- 政治表現(xiàn)及具體事例三條經(jīng)典優(yōu)秀范文三篇
- 高考詩歌鑒賞專題復(fù)習(xí):題畫抒懷詩、干謁言志詩
- 2023年遼寧省交通高等??茖W(xué)校高職單招(英語)試題庫含答案解析
- GB/T 304.3-2002關(guān)節(jié)軸承配合
- 漆畫漆藝 第三章
- CB/T 615-1995船底吸入格柵
- 光伏逆變器一課件
- 貨物供應(yīng)、運(yùn)輸、包裝說明方案
- (完整版)英語高頻詞匯800詞
評論
0/150
提交評論