国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Hibernate學(xué)習(xí)筆記--如何用Hibernate進(jìn)行對象的持久化
Hibernate作為數(shù)據(jù)持久化層的一種技術(shù)應(yīng)用很廣泛?,F(xiàn)在就其中的知識點在讀書過程中進(jìn)行記錄和總結(jié)。
這里主要考慮的一種數(shù)據(jù)的解決方案是:通過DAO(Data Accss Object)和ORM(Object Relational Mapping)實現(xiàn)數(shù)據(jù)的持久化操作。在這種數(shù)據(jù)持久化實現(xiàn)方案中,通過DAO來實現(xiàn)對Java對象與數(shù)據(jù)庫中數(shù)據(jù)之間的相互轉(zhuǎn)換,同時他還包括了數(shù)據(jù)庫的連接管理、事務(wù)管理以及對象的緩沖管理等功能。
這種數(shù)據(jù)持久化解決方案的實現(xiàn)方法的示意圖圖下:業(yè)務(wù)層--->DAO--->ORM--->數(shù)據(jù)庫
首先配置軟件開發(fā)環(huán)境:JDK1.5,Tomcat5.0,MySQL5,Ant1.5,Eclipse3.1相關(guān)軟件的下載地址見:http://blog.163.com/wyl_jxy/collection/
各種工具的配置和使用請參考相應(yīng)的資料。
現(xiàn)在先簡單介紹一下運(yùn)用Hibernate進(jìn)行Web應(yīng)用開發(fā)的過程,為更深層次利用Hibernate工作打下基礎(chǔ)。
當(dāng)然不同的項目可以根據(jù)自身情況對設(shè)計過程進(jìn)行適當(dāng)?shù)募舨没蜓a(bǔ)充。適合的就是最好的。不必拘泥與某一種方式步驟。
這里采用的開發(fā)順序是先進(jìn)行系統(tǒng)的建模以及實現(xiàn)系統(tǒng)模型的工作,接下來的工作是完成系統(tǒng)的配置文件和HBM文件(即映射文件),然后進(jìn)行DAO的開發(fā)和測試工作,最后完成整個系統(tǒng)的頁面處理部分。
設(shè)計、分析和實現(xiàn)持久層對象需要很多步驟來完成,下面一步一步來說明
首先,需要掌握如何確定一個應(yīng)用程序的業(yè)務(wù)實體。在分析業(yè)務(wù)實體的過程中將會創(chuàng)建一系列概念上的模型,用這些模型對象來表示業(yè)務(wù)實體以及業(yè)務(wù)實體的屬性,這樣的模型被稱為域模型。然后,使用Java語言實現(xiàn)這個域模型,也就是為每一個實體創(chuàng)建一個持久層的JAVA對象。
然后,完成映射文件的定義工作。映射文件的主要作用就是描述這些java持久層對象以及他們的屬性和數(shù)據(jù)庫中的表以及表中的字段之間的關(guān)系。這樣,Hibernate才能自動建立java對象與數(shù)據(jù)庫中數(shù)據(jù)的關(guān)聯(lián)關(guān)系,從而實現(xiàn)他們之間的轉(zhuǎn)換。換言之,映射文件是為了把java對象和數(shù)據(jù)表以及數(shù)據(jù)字段關(guān)聯(lián)。配置文件則定義的是如何連接數(shù)據(jù)庫。
接下來的步驟是進(jìn)行DAO的定義和開發(fā)工作。通過DAO,可以完成對數(shù)據(jù)庫進(jìn)行的各種持久化操作以及在開發(fā)中所需實現(xiàn)的部分業(yè)務(wù)邏輯。
最后的工作是完成JSP頁面,通過對DAO的調(diào)用完成整個系統(tǒng)的所有功能。
映射文件的說明:
映射文件頂層是一個hibernate-mapping元素,定義了當(dāng)前配置文件中映射關(guān)系的基本屬性,也可以說它所定義的屬性是對映射文件中所有子節(jié)點發(fā)揮作用的。
具體細(xì)節(jié)以后詳述
配置文件的說明:
Hibernate配置文件主要用來設(shè)置Hibernate的行為。他所描述的信息主要包括以下幾個方面:
1  數(shù)據(jù)庫的連接信息:在Hibernate中可以使用兩種方式連接數(shù)據(jù)庫。一種是根據(jù)JDBC的參數(shù)連接數(shù)據(jù)庫,由Hibernate完成連接的過程和連接的管理。另一種方式是通過JNDI完成數(shù)據(jù)庫的連接,Hibernate之間獲取數(shù)據(jù)庫的連接。
使用JDBC進(jìn)行連接方式,需要對下列參數(shù)進(jìn)行配置:
hibernate.dialect 指定數(shù)據(jù)庫使用的SQL方言
hibernate.connection.driver_class   指定數(shù)據(jù)庫的驅(qū)動程序
hibernate.connection.url 指定數(shù)據(jù)庫的URL
hibernate.connection.username 指定連接數(shù)據(jù)庫的用戶名
hibernate.connection.password 指定連接數(shù)據(jù)庫的口令
hibernate.show_sql 如果為true,表示程序在運(yùn)行時,會在控制臺輸入SQL語句,這有利于跟蹤Hiberante的運(yùn)行狀態(tài),默認(rèn)為false。在應(yīng)用開發(fā)和測試階段,可以設(shè)這個屬性為true,以便跟蹤和測試程序,在應(yīng)用開發(fā)階段,應(yīng)該把這個屬性設(shè)為false,以便減少應(yīng)用的輸出信息,提高性能
2 數(shù)據(jù)庫連接池的信息
3 可選的配置項
4 HBM(映射文件)列表
使用Hibernate進(jìn)行數(shù)據(jù)持久化操作的過程
使用Hibernate進(jìn)行持久化操作主要需要以下步驟:
STEP 1:創(chuàng)建Configuration對象。在這一步中主要為了進(jìn)行配置文件的裝載操作,讀取所有的配置文件并進(jìn)行解析
STEP 2: 創(chuàng)建SessionFactory對象。通過創(chuàng)建好的Configuration對象可以創(chuàng)建一個sessionFactory對象的實例,特使Session對象實例的工廠,他在整個應(yīng)用中應(yīng)該是唯一的。
STEP 3:創(chuàng)建Session對象。 Session對象類似于數(shù)據(jù)庫的連接對象,可以理解為與數(shù)據(jù)庫建立的一個連接,但是他的功能要比JDBC中的Connection對象豐富很多。
STEP 4:開始一個事務(wù)。在Java中定義一個事務(wù)操作的開始,這是使用Hibernate進(jìn)行持久化操作必不可少的步驟
STEP 5:進(jìn)行持久化操作。在這個步驟中可以讀取或者保存Java對象。
STEP 6:結(jié)束事務(wù)。在操作完成之后還要進(jìn)行顯式的結(jié)束事務(wù)的操作。
STEP 7:關(guān)閉Session。類似于釋放數(shù)據(jù)庫的連接。
下面說最后一項DAO層的實現(xiàn)
DAO層的實現(xiàn)
在完成了域模型的定義和配置工作之后,接下來要完成的工作就是定義DAO接口,并使用Hibernate來實現(xiàn)所定義的DAO接口。
當(dāng)然直接使用Hibernate來訪問數(shù)據(jù)庫也是完全可以的,但是這種結(jié)構(gòu)的系統(tǒng)會具有更好的靈活性。通過這種使用接口的編程方法,可以在方法的調(diào)用者和方法的實現(xiàn)者之間建立一個屏障,即他們之間不存在任何關(guān)聯(lián),一邊的修改不會影響到另外一邊的正確運(yùn)行。例如現(xiàn)在所選擇的持久化組件為Hibernate,過一段時間可能會有更好的持久化層組件出現(xiàn),或者想直接采用JDBC來實現(xiàn)持久化層的操作,那么只需要修改具體的實現(xiàn)方法就可以了,而不需要對調(diào)用持久化層的業(yè)務(wù)處理方法進(jìn)行任何修改。
DAO接口和DAO實現(xiàn)之間的關(guān)系:HibernateDAO,IUerDAO,UserDAO
上述的三個*DAO是中(1)HibernteDAO是基礎(chǔ)類,它包含了使用Hibernate進(jìn)行持久化操作的一些基礎(chǔ)方法。實現(xiàn)具體業(yè)務(wù)方法的DAO方法,通過繼承這個類,可以在很大程度上簡化持久化操作的步驟,減少代碼的重復(fù)量。(2)IUerDAO是接口,定義了對對象User進(jìn)行持久化操作的各種方法。只有接口定義,沒有實現(xiàn)。具體有什么樣的方法,完全取決于對象User。User是前面工作中定義的持久化對象。 注意:一個持久化對象對應(yīng)一個DAO接口(3)UserDAO  這個才是真正的DAO實現(xiàn)類。他集成了基礎(chǔ)類,實現(xiàn)了DAO接口。一個實現(xiàn)類要實現(xiàn)對應(yīng)的接口。
下面貼出幾段代碼可以根據(jù)上面的說明自己理解DAO:
提示:在Hibernate軟件包的etc目錄下,有一個hibernate.properties文件,它提供了連接各種關(guān)系數(shù)據(jù)庫的配置代碼樣例
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
一篇SSH框架的應(yīng)用介紹
spring的那些事兒
mybatis和hibernate的對比總結(jié)
SSH框架搭建和整合
Matrix - 與 Java 共舞 - 教程-在Eclipse中使用Hibernate
MyEclipse Hibernate 映射表配置文件詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服