2014java數(shù)據(jù)庫(kù)技術(shù)詳解11網(wǎng)絡(luò)教程提供http第8章_第1頁(yè)
2014java數(shù)據(jù)庫(kù)技術(shù)詳解11網(wǎng)絡(luò)教程提供http第8章_第2頁(yè)
2014java數(shù)據(jù)庫(kù)技術(shù)詳解11網(wǎng)絡(luò)教程提供http第8章_第3頁(yè)
2014java數(shù)據(jù)庫(kù)技術(shù)詳解11網(wǎng)絡(luò)教程提供http第8章_第4頁(yè)
2014java數(shù)據(jù)庫(kù)技術(shù)詳解11網(wǎng)絡(luò)教程提供http第8章_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第8章HIBERNATE基礎(chǔ)Hibernate是一種ORM框架,與各種數(shù)據(jù)庫(kù)、SQL語(yǔ)句打交道,是數(shù)據(jù)持久化的一種解決方案。本章將系統(tǒng)的介紹Hibernate的各種配置方式、ORMMapping等。這一章中先通過(guò)兩個(gè)簡(jiǎn)單的例子,直觀的了解Hibernate,在后面的章節(jié)中會(huì)對(duì)Hibernate進(jìn)行詳細(xì)的講解。8.1Hibernate概述Hibernate是一種ORM框架,全稱Object-RelativeDatabase-Mapping,在Java對(duì)象與關(guān)系數(shù)據(jù)庫(kù)之間建立某種映射,以實(shí)現(xiàn)直接存取Java對(duì)象(一般為實(shí)體類)。ORM框架是不同于MVC的另一種思想的框架,使用范圍也與MVC截然不同。類似功能的框架還有SUN的JDO、Oracle公司的TopLink、Apache的iBatis與OpenJPA等。8.1.1ORM簡(jiǎn)介在實(shí)際的開(kāi)發(fā)中,數(shù)據(jù)持久化是核心的技術(shù)之一。傳統(tǒng)的數(shù)據(jù)持久化編程中,需要使用JDBC并配合大量的SQL語(yǔ)句。Connection、Statement、ResultSet等JDBCAPI與SQL夾雜在一起,開(kāi)發(fā)效率都很低下。后來(lái)出現(xiàn)了DAO模式,所有的JDBCAPI與SQL語(yǔ)句均移到了DAO層,但是仍然需要編寫(xiě)大量的SQL語(yǔ)句。8.1.1ORM簡(jiǎn)介DAO層很有規(guī)律為:插入數(shù)據(jù)時(shí),把實(shí)體類(有人稱為POJO,也有人稱為VO)拆分成各種屬性然后拼裝為SQL語(yǔ)句,保存進(jìn)數(shù)據(jù)庫(kù);讀取數(shù)據(jù)時(shí),用SQL把實(shí)體類的各種屬性從數(shù)據(jù)庫(kù)讀出來(lái),然后拼裝為實(shí)體類對(duì)象返回。而且實(shí)體類與數(shù)據(jù)表、實(shí)體類的屬性與數(shù)據(jù)表的列,都存在著某種固定的映射關(guān)系。如果能夠用程序自動(dòng)生成SQL語(yǔ)句就好了。8.1.1ORM簡(jiǎn)介ORM稱為對(duì)象-關(guān)系數(shù)據(jù)庫(kù)映射,英文全名為Object/RelationMapping。ORM是在JDBC技術(shù)的基礎(chǔ)上,能夠調(diào)用程序自動(dòng)生成的SQL語(yǔ)句。它通過(guò)配置文件或者使用Java注解把Java對(duì)象映射到數(shù)據(jù)庫(kù)上,自動(dòng)生成SQL語(yǔ)句并執(zhí)行。ORM技術(shù)已經(jīng)十分成熟,廣泛應(yīng)用于各種大規(guī)模的系統(tǒng)中。8.1.2Hibernate的概念Hibernate是一種ORM框架,全稱Object-RelativeDatabase-Mapping,在Java對(duì)象與關(guān)系數(shù)據(jù)庫(kù)之間建立某種映射,以實(shí)現(xiàn)直接存取Java對(duì)象(一般為實(shí)體類)。在現(xiàn)有的ORM框架中,最成功的要數(shù)Hibernate。8.1.2Hibernate的概念Hibernate使用簡(jiǎn)單、功能強(qiáng)大、對(duì)市面上所有的數(shù)據(jù)庫(kù)都有良好的支持。Hibernate能直接操作POJO,并且是一種輕量級(jí)的框架,不依賴于任何容器,無(wú)論是Tomcat還是JBoss、Resin、WebLogic、WebSphere下都可以使用。8.1.2Hibernate的概念Hibernate的官方網(wǎng)站為:。Hibernate最早是做Java語(yǔ)言的ORM框架起家的,現(xiàn)在也開(kāi)始為其他語(yǔ)言提供ORM支持,如.net版本的NHibernate等。8.2在MyEclipse中添加Hibernate的jar包早期的Hibernate使用xml配置實(shí)體類與數(shù)據(jù)庫(kù)間的映射。現(xiàn)在,Sun推出了JPA(JavaPersistenceAPI),目的在于規(guī)范各種ORM的接口,Hibernate也可以使用JPA的注解(Annotation)來(lái)配置映射。本節(jié)先以Java注解的方式講解Hibernate的使用。8.2在MyEclipse中添加Hibernate的jar包說(shuō)明:某些版本的MyEclipse自帶的Hibernate的jar有問(wèn)題。如果出現(xiàn)錯(cuò)誤,讀者需要從Hibernate官方網(wǎng)站下載官方的Hibernate庫(kù),添加到classpath中,并把MyEclipse的Hibernate庫(kù)從項(xiàng)目中去掉。8.3在Java程序中使用Hibernate在8.2節(jié)中介紹了如何在MyEclipse中添加Hibernate的jar包,這一節(jié)將介紹如何在MyEclipse中編寫(xiě)一個(gè)簡(jiǎn)單的Hibernate例子。8.4在JavaWeb程序中使用Hibernate在JavaWeb中使用Hibernate與普通Java程序一樣。這一小節(jié)中將使用Serlvet和JSP結(jié)合Hibernate實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的增刪改查操作。Web程序中,hibernate.cfg.xml中必須配置current_session_context_class參數(shù)。如果是使用JBoss等內(nèi)置Hibernate的容器,參數(shù)值要配置為jta,其他容器如Tomcat等需要配置為thread。8.5本章小結(jié)這一章中介紹了ORM的概念,ORM稱為對(duì)象-關(guān)系數(shù)據(jù)庫(kù)映射,英文全名為Object/Relation

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論