最經(jīng)典的hibernate教程從入門到精通第一篇(共四篇).ppt_第1頁
最經(jīng)典的hibernate教程從入門到精通第一篇(共四篇).ppt_第2頁
最經(jīng)典的hibernate教程從入門到精通第一篇(共四篇).ppt_第3頁
最經(jīng)典的hibernate教程從入門到精通第一篇(共四篇).ppt_第4頁
最經(jīng)典的hibernate教程從入門到精通第一篇(共四篇).ppt_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論