Hibernate應(yīng)用基礎(chǔ)知識(shí)

Hibernate應(yīng)用基礎(chǔ)知識(shí)

ID:36885867

大?。?33.00 KB

頁數(shù):41頁

時(shí)間:2019-05-10

Hibernate應(yīng)用基礎(chǔ)知識(shí)_第1頁
Hibernate應(yīng)用基礎(chǔ)知識(shí)_第2頁
Hibernate應(yīng)用基礎(chǔ)知識(shí)_第3頁
Hibernate應(yīng)用基礎(chǔ)知識(shí)_第4頁
Hibernate應(yīng)用基礎(chǔ)知識(shí)_第5頁
資源描述:

《Hibernate應(yīng)用基礎(chǔ)知識(shí)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、企業(yè)級JAVAII軟件工程系:聶常紅cred_n@163.com內(nèi)容回顧輸入校驗(yàn)概念輸入校驗(yàn)方式Struts2校驗(yàn)框架校驗(yàn)語法常用Struts2校驗(yàn)器Struts2校驗(yàn)器配置方式第8講Hibernate應(yīng)用基礎(chǔ)知識(shí)8.1ORM框架8.2Hibernate8.2.1Hibernate的運(yùn)行環(huán)境8.2.2持久化類8.2.3映射文件8.2.4Hibernate核心類與接口8.3開發(fā)一個(gè)簡單的Hibernate項(xiàng)目8.4Hibernate對象的三種狀態(tài)8.5持久層設(shè)計(jì)模式8.6基于持久層框架的DAO模式應(yīng)用

2、示例8.1ORM問題引入:面向?qū)ο笳Z言:對象模型,主要概念是類、對象、繼承、多態(tài)、關(guān)聯(lián)等關(guān)系型數(shù)據(jù)庫:關(guān)系模型,主要概念是表、記錄、主鍵、外鍵等面向?qū)ο笳Z言和數(shù)據(jù)庫之間存在模型不匹配(阻抗不匹配)問題問題解決辦法:使用ORM框架ORM:ORM(Object/RelationMapping,對象、關(guān)系數(shù)據(jù)庫映射),用于實(shí)現(xiàn)Java應(yīng)用中的對象與關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)的映射,從而可以通過持久化對象(PO)以面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫。ORM關(guān)系圖:idnameage1張三302李四263王五23Person

3、id:intname:Stringage:intperson:Personid=2name=“李四“age=23person表ORM基本映射關(guān)系類表對象記錄屬性字段類之間的關(guān)系外鍵8.2hibernate主流的ORM框架有hibernate、TopLink等,其中hibernate應(yīng)用最廣泛Hibernate是輕量級的JavaEE應(yīng)用的持久層解決方案。它對JDBC進(jìn)行了輕量級的封裝,不僅能管理Java類到數(shù)據(jù)庫表的映射,還能提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法。使用Hibernate可以大幅度減少開發(fā)時(shí)人工

4、使用SQL和JDBC處理數(shù)據(jù)的時(shí)間Hibernate簡要體系架構(gòu):ApplicationHibernatePersistentObjectsHibernate.cfg.xmlXMLMappingDataBasePO是應(yīng)用程序和ORM框架之間的一個(gè)媒介8.2.1Hibernate運(yùn)行環(huán)境需要以下jar文件:配置hibernate.cfg.xml文件或hibernate.properties屬性文件用于配置數(shù)據(jù)庫連接設(shè)置、Hibernate屬性設(shè)置及映射文件設(shè)置。兩者取一,常用xml文件http://w

5、ww.hibernate.orghibernate.cfg.xml示例:實(shí)際使用一般不用Hibernate的連接池8.2.2持久化類ORM的作用是把對PO的CRUD等操作轉(zhuǎn)換成對數(shù)據(jù)庫的相關(guān)操作。持久化類編寫規(guī)范:必須具有無參構(gòu)造方法具有一個(gè)主鍵屬性非final類,否則無法使用懶加載以及代理使用JavaBean的編寫規(guī)范來編寫屬性的setter和getter方法持久化類創(chuàng)建示例:8.2.3映射文件用于設(shè)置持久化類與數(shù)據(jù)庫表的映射關(guān)系,是hibernate的核心所在。一般以持久化類名+hbm.xml來

6、命名,如Person.hbm.xml;并保存在與持久化類同目錄下最主要的元素有::設(shè)置類-表之間的映射:設(shè)置主鍵映射:設(shè)置普通屬性-表字段之間的映射、、:設(shè)置關(guān)聯(lián)映射映射文件示例:常用主鍵生成方式:assigned:由應(yīng)用程序生成identity:使用數(shù)據(jù)庫提供的自增長主鍵機(jī)制,如Mysqlsequence:使用數(shù)據(jù)庫提供的sequence機(jī)制生成主鍵,如oraclenative:

7、由hibernate根據(jù)數(shù)據(jù)庫驅(qū)動(dòng)定義,自動(dòng)選擇主鍵生成機(jī)制8.2.4Hibernate核心APIHibernate核心類和接口Hibernate體系結(jié)構(gòu)Configuration類:負(fù)責(zé)讀取及解析Hibernate的配置信息創(chuàng)建SessionFactory實(shí)例Configuratoncfg=newConfiguration();cfg.configure();//讀取配置文件//創(chuàng)建SessionFactory實(shí)例SessionFactorysf=cfg.buildSessionFactory()

8、;SessionFactory接口:是數(shù)據(jù)庫編譯后的內(nèi)存鏡向,其中緩存了解析后的配置信息在應(yīng)用初始化時(shí)創(chuàng)建,對于使用一個(gè)數(shù)據(jù)庫的應(yīng)用程序只有一個(gè)會(huì)話工廠用于創(chuàng)建Session實(shí)例Configuratoncfg=newConfiguration();cfg.configure();//讀取配置文件SessionFactorysf=cfg.buildSessionFactory(serviceRegistry);Sessionsession=sf.openSession(

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(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)完成后未能成功下載的用戶請聯(lián)系客服處理。