版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、移動商務應用軟件開發(fā)--JavaEE,© 2009 英泰克國際管理咨詢(北京)有限公司. 版權(quán)所有.,課 程 目 標,,掌握JavaEE概念及開發(fā)環(huán)境的設置 熟練使用Jsp和Servlet完成簡單的網(wǎng)站建設 掌握Struts和Struts2的原理及應用 熟練使用Hibernate完成數(shù)據(jù)持久化 理解并掌握JPA的產(chǎn)生和作用 掌握Spring框架的使用,熟練完成SSH框架的整合 掌握EJB概念及使用,英
2、泰克國際管理咨詢(北京)有限公司 版權(quán)所有,第 8 章Hibernate 簡介及功能實現(xiàn),英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,,,,,Hibernate及軟件分層,Hibernate的持久化應用介紹,,,Hibernate的三種檢索策略的使用講解,,,,,,,本章導航,Hibernate中映射機制的使用講解,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Hibernate簡介,Hibernate簡介,Hibe
3、rnate是一個開放源代碼的對象關(guān)系映射框架,是 Java應用和關(guān)系數(shù)據(jù)庫之間的橋梁,它負責Java對象和 關(guān)系數(shù)據(jù)庫之間的映射 Hibernate內(nèi)部封裝了通過JDBC訪問數(shù)據(jù)庫的操作,向 上層應用提供了面向?qū)ο蟮臄?shù)據(jù)訪問API,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Hibernate簡介,,Hibernate有5個核心接口,如下: Session SessionFactory Transaction
4、 Query Configuration,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Session接口,Hibernate簡介,Session接口是用來負責執(zhí)行被持久化對象的數(shù)據(jù)庫相 關(guān)操作的 Session通過SessionFactory打開,在所有的工作完成 后,需要關(guān)閉 在Session中,每個數(shù)據(jù)庫操作都是在一個事務中進行 的,這樣就可以隔離開不同的操作,英泰克國際管理咨詢(北京)有限公司 版權(quán)所
5、有,,,SessionFactroy接口,Hibernate簡介,SessionFactroy接口負責初始化Hibernate。它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建Session對象,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Transaction接口,Hibernate簡介,Transaction接口負責事務相關(guān)的操作。它是可選的,可發(fā)人員也可以設計編寫自己的底層事務處理代碼,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有
6、,,,Query和Criteria接口,Hibernate簡介,Query和Criteria接口負責執(zhí)行各種數(shù)據(jù)庫的查詢。它可以使用HQL(Hibernate的面向?qū)ο蟮臄?shù)據(jù)庫操作語句)語言或SQL語句兩種表達方式,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Hibernate.cfg.xml配置文件,Hibernate簡介,Hibernate框架通過Hibernate.cfg.xml文件的配置找到實體類和其配置文件,英泰
7、克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Hibernate.cfg.xml配置文件,Hibernate簡介,Hibernate會根據(jù)標簽中的值為項目創(chuàng)建相應的數(shù)據(jù)庫鏈接,通過標簽解析實體類,通過實體類的結(jié)構(gòu)操作數(shù)據(jù)庫,達到隱藏JDBC操作,由hibernate統(tǒng)一管理數(shù)據(jù)庫操作,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,持久化對象生命周期,Hibernate的持久化應用,對于需要持久化操作的對象,它的生命周期分為
8、三個狀態(tài):臨時狀態(tài)、持久化狀態(tài)、游離狀態(tài),英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,臨時狀態(tài),Hibernate的持久化應用,剛剛用new語句創(chuàng)建,沒有被持久化,不處于session的緩存中.處于臨時狀態(tài)的java對象被稱為臨時對象,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,持久化狀態(tài),Hibernate的持久化應用,已經(jīng)被持久化,加入到session的緩存中.處于持久化的java對象被稱為持久化對象,英泰克國
9、際管理咨詢(北京)有限公司 版權(quán)所有,,,游離狀態(tài),已經(jīng)被持久化,但不處于session的緩存中,處于游離狀態(tài)的java對象被成為游離對象,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,處于持久化狀態(tài)的對象的特征,Hibernate的持久化應用,1、位于同一個session事例的緩存中,可以說持久化對象總 是被一個session事例關(guān)聯(lián)2、持久化對象和數(shù)據(jù)庫中的相關(guān)表結(jié)構(gòu)是相對應的。
10、 3、Session在清理緩存時,會根據(jù)持久化對象的屬性變化來 同步更新數(shù)據(jù)庫,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,映射關(guān)系表,將每個實體類和數(shù)據(jù)庫中表間的映射關(guān)系單獨的配置到XML的文件中,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,映射關(guān)系表示例, users
11、_seq ,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Session常用方法,beginTransaction()開始一個工作單元并且返回相關(guān)聯(lián)的 事務對象Connection()獲取這個Session的JDBC連接。 createQuery(String querySt
12、ring)根據(jù)給定的HQL查 詢條件創(chuàng)建一個新的Query實例 clear()完整的清除這個session,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,Session常用方法,save(Object object)首先為給定的自由狀態(tài)的對象生成 一個標識并賦值,然后將其持久化 update(String entityName, Object object)根據(jù)給定 的det
13、ached(游離狀態(tài))對象實例的標識更新對應的持久 化實例 saveOrUpdate(String entityName, Object object) 根據(jù)給定的實例的標識屬性的值來決定執(zhí)行 save() 或 update()操作,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,類屬性與數(shù)據(jù)庫表屬性的映射,持久化類中的屬性和數(shù)據(jù)庫中的表字段的對應關(guān)系由我們來進行指定,這就是框架中
14、最簡單的映射關(guān)系,一般這種映射被配置到與類相關(guān)的以.hbm.xml結(jié)尾的配置文件中,Hibernate的映射機制,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,游離狀態(tài),已經(jīng)被持久化,但不處于session的緩存中,處于游離狀態(tài)的java對象被成為游離對象,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,游離狀態(tài),已經(jīng)被持久化,但不處于session的緩存中,處于游離狀態(tài)的java對象被成為
15、游離對象,Hibernate的持久化應用,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,課后習題,簡答題1、什么是WebWork,簡述一下WebWork的工作流程2、簡述Struts 2框架。3、簡述Struts 2的工作流程4、Struts 2框架配置文件一般有兩類,都有哪些,作用是什么,英泰克國際管理咨詢(北京)有限公司 版權(quán)所有,,,課后習題,簡答題5、Struts 2控制器組成部分都有哪些,作用是什么?6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- [教育]移動互聯(lián)網(wǎng)應用軟件開發(fā)
- 多功能CPTU工程應用軟件開發(fā)研究.pdf
- 應用軟件開發(fā)類論文模板
- 電力物聯(lián)網(wǎng)應用軟件開發(fā)
- gis應用軟件開發(fā)模式分析
- 應用軟件開發(fā)課程設計
- 諧波檢測方法研究及應用軟件開發(fā).pdf
- 基于云端服務平臺應用軟件開發(fā)
- 欠平衡鉆井設計理論建模應用軟件開發(fā)與應用軟件開發(fā).pdf
- 水工滲流數(shù)值分析應用軟件開發(fā)
- 第1章軟件開發(fā)方法(三)軟件開發(fā)技術(shù)
- 水工滲流數(shù)值分析應用軟件開發(fā).pdf
- 關(guān)于移動應用軟件開發(fā)高端技能型人才培養(yǎng)探究
- 應用軟件開發(fā)的項目管理研究.pdf
- 應用軟件開發(fā)、管理工作規(guī)范
- X射線測厚儀的研制及應用軟件開發(fā).pdf
- 基于JavaEE的應用軟件開發(fā)平臺的設計與實現(xiàn).pdf
- 移動互聯(lián)網(wǎng)應用軟件開發(fā)項目質(zhì)量管理研究.pdf
- 車聯(lián)網(wǎng)移動云系統(tǒng)開放式平臺與應用軟件開發(fā).pdf
- 班輪船隊規(guī)劃數(shù)學建模及應用軟件開發(fā).pdf
評論
0/150
提交評論