




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第8章HIBERNATE基礎(chǔ)Hibernate是一種ORM框架,與各種數(shù)據(jù)庫、SQL語句打交道,是數(shù)據(jù)持久化的一種解決方案。本章將系統(tǒng)的介紹Hibernate的各種配置方式、ORMMapping等。這一章中先通過兩個簡單的例子,直觀的了解Hibernate,在后面的章節(jié)中會對Hibernate進(jìn)行詳細(xì)的講解。8.1Hibernate概述Hibernate是一種ORM框架,全稱Object-RelativeDatabase-Mapping,在Java對象與關(guān)系數(shù)據(jù)庫之間建立某種映射,以實(shí)現(xiàn)直接存取Java對象(一般為實(shí)體類)。ORM框架是不同于MVC的另一種思想的框架,使用范圍也與MVC截然不同。類似功能的框架還有SUN的JDO、Oracle公司的TopLink、Apache的iBatis與OpenJPA等。8.1.1ORM簡介在實(shí)際的開發(fā)中,數(shù)據(jù)持久化是核心的技術(shù)之一。傳統(tǒng)的數(shù)據(jù)持久化編程中,需要使用JDBC并配合大量的SQL語句。Connection、Statement、ResultSet等JDBCAPI與SQL夾雜在一起,開發(fā)效率都很低下。后來出現(xiàn)了DAO模式,所有的JDBCAPI與SQL語句均移到了DAO層,但是仍然需要編寫大量的SQL語句。8.1.1ORM簡介DAO層很有規(guī)律為:插入數(shù)據(jù)時,把實(shí)體類(有人稱為POJO,也有人稱為VO)拆分成各種屬性然后拼裝為SQL語句,保存進(jìn)數(shù)據(jù)庫;讀取數(shù)據(jù)時,用SQL把實(shí)體類的各種屬性從數(shù)據(jù)庫讀出來,然后拼裝為實(shí)體類對象返回。而且實(shí)體類與數(shù)據(jù)表、實(shí)體類的屬性與數(shù)據(jù)表的列,都存在著某種固定的映射關(guān)系。如果能夠用程序自動生成SQL語句就好了。8.1.1ORM簡介ORM稱為對象-關(guān)系數(shù)據(jù)庫映射,英文全名為Object/RelationMapping。ORM是在JDBC技術(shù)的基礎(chǔ)上,能夠調(diào)用程序自動生成的SQL語句。它通過配置文件或者使用Java注解把Java對象映射到數(shù)據(jù)庫上,自動生成SQL語句并執(zhí)行。ORM技術(shù)已經(jīng)十分成熟,廣泛應(yīng)用于各種大規(guī)模的系統(tǒng)中。8.1.2Hibernate的概念Hibernate是一種ORM框架,全稱Object-RelativeDatabase-Mapping,在Java對象與關(guān)系數(shù)據(jù)庫之間建立某種映射,以實(shí)現(xiàn)直接存取Java對象(一般為實(shí)體類)。在現(xiàn)有的ORM框架中,最成功的要數(shù)Hibernate。8.1.2Hibernate的概念Hibernate使用簡單、功能強(qiáng)大、對市面上所有的數(shù)據(jù)庫都有良好的支持。Hibernate能直接操作POJO,并且是一種輕量級的框架,不依賴于任何容器,無論是Tomcat還是JBoss、Resin、WebLogic、WebSphere下都可以使用。8.1.2Hibernate的概念Hibernate的官方網(wǎng)站為:。Hibernate最早是做Java語言的ORM框架起家的,現(xiàn)在也開始為其他語言提供ORM支持,如.net版本的NHibernate等。8.2在MyEclipse中添加Hibernate的jar包早期的Hibernate使用xml配置實(shí)體類與數(shù)據(jù)庫間的映射?,F(xiàn)在,Sun推出了JPA(JavaPersistenceAPI),目的在于規(guī)范各種ORM的接口,Hibernate也可以使用JPA的注解(Annotation)來配置映射。本節(jié)先以Java注解的方式講解Hibernate的使用。8.2在MyEclipse中添加Hibernate的jar包說明:某些版本的MyEclipse自帶的Hibernate的jar有問題。如果出現(xiàn)錯誤,讀者需要從Hibernate官方網(wǎng)站下載官方的Hibernate庫,添加到classpath中,并把MyEclipse的Hibernate庫從項(xiàng)目中去掉。8.3在Java程序中使用Hibernate在8.2節(jié)中介紹了如何在MyEclipse中添加Hibernate的jar包,這一節(jié)將介紹如何在MyEclipse中編寫一個簡單的Hibernate例子。8.4在JavaWeb程序中使用Hibernate在JavaWeb中使用Hibernate與普通Java程序一樣。這一小節(jié)中將使用Serlvet和JSP結(jié)合Hibernate實(shí)現(xiàn)數(shù)據(jù)庫表的增刪改查操作。Web程序中,hibernate.cfg.xml中必須配置current_session_context_class參數(shù)。如果是使用JBoss等內(nèi)置Hibernate的容器,參數(shù)值要配置為jta,其他容器如Tomcat等需要配置為thread。8.5本章小結(jié)這一章中介紹了ORM的概念,ORM稱為對象-關(guān)系數(shù)據(jù)庫映射,英文全名為Object/Relation
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國智能電機(jī)控制器行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 中國銀杏剝殼機(jī)市場競爭態(tài)勢及投資戰(zhàn)略規(guī)劃研究報告
- 湖北省政府投資水利項(xiàng)目可行性研究報告審批申請材料清單
- 2025年中國嬰幼兒配方奶粉行業(yè)市場運(yùn)營現(xiàn)狀及行業(yè)發(fā)展趨勢報告
- 中國重點(diǎn)省市主題公園市場前景預(yù)測及投資規(guī)劃研究報告
- 2025年特種電影市場分析及競爭策略報告
- RIV遮陽罩行業(yè)深度研究分析報告(2024-2030版)
- 中國手機(jī)瀏覽器行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 2025年中國甜葉菊糖行業(yè)競爭格局分析及投資戰(zhàn)略咨詢報告
- 2025越南語等級考試商務(wù)報告翻譯試卷
- 實(shí)驗(yàn)室培育鉆石行業(yè)技術(shù)發(fā)展趨勢報告
- 2025年領(lǐng)英大制造行業(yè)人才全球化報告-馬來西亞篇
- 專題:閱讀理解 30篇 中考英語高分提升之新題速遞第二輯【含答案+解析】
- 企業(yè)面試題目和答案大全
- 抖音房產(chǎn)直播課件
- 2025至2030中國近視眼治療儀市場競爭力剖析及企業(yè)經(jīng)營形勢分析報告
- 2025年高考化學(xué)試卷(廣東卷)(空白卷)
- 體育老師招聘試題及答案
- 自然生態(tài)探險之旅行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 2025年北京市高考英語試卷真題(含答案解析)
- 西藏自治區(qū)拉薩市達(dá)孜區(qū)孜縣2025年七下英語期中質(zhì)量檢測模擬試題含答案
評論
0/150
提交評論