利用Hibernate對象持久化服務簡化Java數(shù)據(jù)庫訪問之我見
阜寧高等師范學校 王學軍 2013/8/30 12:52:04
隨著互聯(lián)網(wǎng)的推廣使用,也促進了Java語言的發(fā)展。在進行J2EE標準的開發(fā)過程中,如果對數(shù)據(jù)庫進行操作的時候直接采用JDBC方式,主要存在代碼冗長、工程浩大的弊端,同時也存在更大的危險性,維護也比較困難。為了對這一問題進行解決,Hibernate隨之出現(xiàn),在Java應用中,Hibernate提供了高效、易用的O/R映射框架,使得持久層的開發(fā)得到了極大的簡化。
1、Hibernate技術
1.1簡介
在Java語言環(huán)境下,Hibernate技術提供了O/R映射解決方法,該技術為面向對象領域的模型提供了到傳統(tǒng)關系型數(shù)據(jù)庫的映射,是一種方便的框架。其設計主要是為了將軟件開發(fā)人員從繁瑣的編程工作中解放出來。Hibernate負責從Java數(shù)據(jù)類型向SQL數(shù)據(jù)類型的映射,提供對象數(shù)據(jù)的檢索與查詢,降低了手動處理JDBC及SQL上花費的時間。對載入類的過程有效的進行了簡化,降低了利用HQL從數(shù)據(jù)庫提取數(shù)據(jù)的編碼量,節(jié)約了開發(fā)成本與時間。通過該技術的使用,還能夠對傳統(tǒng)的DAO、JDBC及CMP技術在對持久層開發(fā)時遇到的困難很好的進行解決,提升了生產力。
1.2原理
Hibernate其實就是一個為數(shù)據(jù)庫提供服務的中間過程,其工作原理如圖1所示:
圖1 Hibernate原理
在Java應用中,Hibernate的作用主要是:通過Hibernate,應用程序實現(xiàn)了對數(shù)據(jù)庫的訪問和對持久層的操作,同時Hibernate通過XML Mapping映射文件及properties配置文件將類型映射到數(shù)據(jù)庫中進行記錄。進而使Application應用能夠通過Hibernate持久化對象直接實現(xiàn)對數(shù)據(jù)庫的訪問,不再通過使用SQL語言及JDBC對數(shù)據(jù)庫進行操作,節(jié)約了時間,提高了效率。Hibernate的靈活性非常好,包含多種不同的運行方式。在全面解決體系中,所有的應用程序底層的JTA API及JDBC都被抽象,但是Hibernate會對所有的細節(jié)照管;在輕型體系中,通過JDBC連接應用程序,應用程序自行對事物進行管理,這種方式是對Hibernate的一個最小子集的使用。
1.3Hibernate的優(yōu)勢
作為Java開源項目,Hibernate對用戶開放底層代碼,用戶可以直接對源代碼在需要的時候進行修改,并且可以定制或拓展功能。Hibernate的開發(fā)隊伍比較活躍,保證了該技術的長期穩(wěn)定發(fā)展,由于該技術的使用比較方面,在桌面程序開發(fā)上有較大的優(yōu)勢,除此以外在企業(yè)級應用開發(fā)中也得到了廣泛的推廣。因為Hibernate對JDBC進行了輕量級封裝,實現(xiàn)了用戶可繞過Hibernate直接對JDBC API進行訪問。Hibernate自身的Transaction實質上就是底層JDBC Transaction的封裝,這就使得數(shù)據(jù)持久層的開發(fā)及調試都得到了極大的簡化,有效的降低了程序員的工作負擔。
2、基于Hibernate的Java對象持久化的實現(xiàn)
Java應用程序與數(shù)據(jù)庫之間以Hibernate作為紐帶,Hibernate負責數(shù)據(jù)庫與Java對象間的映射。在對Hibernate框架進行應用時,首先,應該編寫其配置文化;其次,根據(jù)配置文煥生成映射文件,然后完成數(shù)據(jù)庫與Java對象間的映射,生成持久化對象;最后,編寫業(yè)務邏輯類,實現(xiàn)業(yè)務邏輯。對Hibernate框架在對象持久化中的應用用以下案例進行說明。
首先,建立數(shù)據(jù)表。在數(shù)據(jù)庫中建立以userinformation命名的數(shù)據(jù)表。其次,創(chuàng)建配置文件。對Hibernate配置文件進行創(chuàng)建時,包含兩種形式,一種是Java屬性文件,另一種是基于XML的,文件名通常是hibernate.cfg.xml。為了順利讀取配置文件,一般將其應用與classpath中。在配置文件中,設計XML文檔的類型定義、Hibernate管理事務、數(shù)據(jù)庫連接的各種參數(shù)、管理JDBC連接及產生SQL過程中涉及的數(shù)據(jù)文件等。第三,創(chuàng)建持久化類?梢允褂脴藴实腏avabean實現(xiàn)Hibernate持久化對象,數(shù)據(jù)庫中數(shù)據(jù)表的列與對象的屬性是對應的,包含個數(shù)、數(shù)據(jù)類型等都要一一對應。類的屬性要求有setter方法和getter方法,命名方面要遵循bean的規(guī)則。第四,創(chuàng)建O/R映射文件。通過XML格式文件,Hibernate指定需要持久化的O/R數(shù)據(jù)庫的表之間的映射。第五,通過Hibernate API對數(shù)據(jù)庫進行訪問。要對數(shù)據(jù)進行操作,首先需要與數(shù)據(jù)庫進行連接,按照Hibernate配置文件,執(zhí)行連接代碼即可完成與數(shù)據(jù)庫的連接。
3、結束語
利用Hibernate所提供給的對象(未完,下一頁)
|