MyEclipse數(shù)據(jù)庫(kù)教程:使用Hibernate和Spring執(zhí)行數(shù)據(jù)庫(kù)操作(二)
在上篇中,介紹了設(shè)置樣本數(shù)據(jù)庫(kù)、連接到數(shù)據(jù)庫(kù)、創(chuàng)建一個(gè)啟用了Hibernate的項(xiàng)目、將Spring Facet添加到項(xiàng)目中、逆向工程數(shù)據(jù)庫(kù)表以及編寫 Hibernate-Spring 代碼的詳細(xì)操作方法。本文承接上篇,繼續(xù)為大家介紹使用Hibernate和Spring執(zhí)行數(shù)據(jù)庫(kù)操作的相關(guān)內(nèi)容。
7、創(chuàng)建一個(gè)Spring Bean作為PersistenceLayer
PersistenceLayer如何獲得對(duì)UserDAO的引用來(lái)真正執(zhí)行那些持久性操作?答案是:您需要為抽象的持久層創(chuàng)建一個(gè)新的Spring bean配置條目,讓它通過(guò)正確引用MyEclipse生成的DAO,來(lái)與數(shù)據(jù)庫(kù)進(jìn)行通信。
單擊 Window > Show View > Other展開Spring,然后選擇Spring Explorer打開Spring Explorer。
展開HibernateSpringProject> Beans> applicationContext.xml,右鍵單擊bean,然后選擇New Bean。
輸入持久層的Bean的標(biāo)識(shí)字段,然后輸入在Bean類字段中的com.myeclipse.hibernatespring.PersistenceLayer。
單擊屬性標(biāo)簽,然后單擊添加。
在“Name”字段中鍵入userDAO,從“Spring Type”下拉列表中選擇ref,在“Reference”字段中輸入U(xiǎn)serDAO,然后單擊“完成”。
在Bean向?qū)Т翱谏蠁螕鬎inish,然后按Ctrl+S保存配置文件。完成以上操作后,業(yè)務(wù)邏輯代碼就可以向BeanFactory請(qǐng)求persistenceLayer Bean,并獲取該Bean的準(zhǔn)備好的實(shí)例。
8、創(chuàng)建一個(gè)數(shù)據(jù)源Spring Bean
使用Spring Explorer創(chuàng)建一個(gè)新的bean。
在“Bean Id”字段中輸入dataSource,并在“Bean class”字段中輸入org.springframework.jdbc.datasource.DriverManagerDataSource。
單擊“Properties”標(biāo)簽,添加以下屬性:
1、名稱類型值
2、riverClassName value:com.mysql.jdbc.Drive
3、rurl value jdbc:mysql://localhost:3306/test
4、用戶名值root
5、密碼值<your password>
在Bean向?qū)Т翱谏蠁螕鬎inish。
在Spring資源管理器中,右鍵單擊sessionFactory bean,并選擇Add Properties。
在“Name”字段中輸入dataSource,將Spring類型保留為ref,在“Reference”字段中輸入dataSource。
單擊“Finish”,然后按Ctrl S保存配置文件。
9、運(yùn)行應(yīng)用程序
在資源管理器中,展開 HibernateSpringProject > src > com.myeclipse.hibernatespring。
右鍵單擊BusinessLogic.java,選擇 Run As>Java Application。Console視圖將顯示結(jié)果。
通過(guò)以上步驟可以看到,使用PersistenceLayer時(shí),僅用幾行代碼就可以從數(shù)據(jù)庫(kù)中存儲(chǔ)、更新和刪除用戶。
10、使用Hibernate注釋和Spring
MyEclipse為獨(dú)立的Hibernate項(xiàng)目和Spring/Hibernate項(xiàng)目提供了Hibernate注釋支持。以下部分將簡(jiǎn)要概述對(duì)Hibernate Annotations和Spring的支持。
注意:Hibernate 4.x自動(dòng)包含注釋支持。
10.1 創(chuàng)建具有注釋支持的Hibernate / Spring項(xiàng)目(Hibernate 3.x)
在為Hibernate 3.x創(chuàng)建、啟用Hibernate和spring的項(xiàng)目時(shí),需要執(zhí)行以下操作來(lái)啟用注釋支持。當(dāng)項(xiàng)目添加Hibernate3.x功能時(shí),一定要選擇“啟用Hibernate注釋支持”復(fù)選框。
在第3頁(yè)上添加Spring功能時(shí),請(qǐng)選中“Enable Hibernate annotation support”復(fù)選框。這將創(chuàng)建一個(gè)AnnotationSessionFactoryBean,而不是LocalSessionFactoryBean。在使用注釋時(shí),AnnotationSessionFactoryBean是必需的。
10.2 逆向工程
當(dāng)您選擇Spring bean配置文件時(shí),使用上述過(guò)程的項(xiàng)目設(shè)置中的Hibernate項(xiàng)目屬性頁(yè)會(huì)在SessionFactory Bean ID下拉列表中同時(shí)列出LocalSessionFactoryBean bean和AnnotationSessionFactoryBean bean。
注意:為了在逆向工程過(guò)程中為Hibernate 3.x提供注釋支持,必須在Active Configuration File字段中選擇Hibernate配置文件,或者為SessionFactory選擇Spring bean配置文件和 AnnotationSessionFactoryBean。
為Spring DAO提供的會(huì)話工廠bean Ids取決于您是否選擇生成帶注釋的POJO或Hibernate映射文件。如果選擇生成帶注釋的POJO,那么SessionFactory Id下拉列表中將僅顯示AnnotationSessionFactoryBeans,否則將同時(shí)列出LocalSessionFactoryBean bean和AnnotationSessionFactoryBean bean。
想進(jìn)一步了解MyEclips?【MyEclipse官方中文網(wǎng)】知你所需,解你所惑!
想與更多人聊MyEclips?加入MyEclipse中國(guó)(官方2):742336981暢所欲言吧!
想及時(shí)獲取MyEclips資訊?掃描下方二維碼,MyEclips信息跟你走!