《基于J2EE Struts框架的課程設計實訓項目——BBS論壇系統——構造基于Hibernate框架的持久層組件并測試對應的實體映射配置》由會員分享,可在線閱讀,更多相關《基于J2EE Struts框架的課程設計實訓項目——BBS論壇系統——構造基于Hibernate框架的持久層組件并測試對應的實體映射配置(28頁珍藏版)》請在裝配圖網上搜索。
1、楊教授大學堂 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料基于J2EE Struts框架的課程設計實訓項目BBS論壇系統構造基于Hibernate框架的持久層組件并測試對應的實體映射配置1.1.1 構造Hibernate框架的開發(fā)環(huán)境1、hibernate3.3的系統包文件的結構與前面的各個版本的文件結構發(fā)生了變化。2、將Hibernate的庫文件放到Web應用的/WEB-INF/lib目錄中-針對Hibernate3.2以前的版本(1)下載Hibernate的系統并解壓縮包然后將下面的各個*.lib庫文件(總共10文件)在Eclipse中導入放到Web應用的/WEB-INF/lib目錄中。an
2、tlr-2.7.5H3.jar、cglib-2.1.2.jar、asm.jar、commons-collections-2.1.1.jar、commons-logging.jar(在Struts中已經包含有,可以不再需要它)、 ehcache.jar hibernate3.jar、jta.jar、dom4j-1.6.1.jar和log4j-1.2.11.jar、c3p0-0.9.1.jar。(2)最后為下面的狀態(tài)3、將Hibernate的庫文件放到Web應用的/WEB-INF/lib目錄中-針對Hibernate3.3版本(1)下載Hibernate3.3的系統并解壓縮包(2)下載SLF4J
3、(http:/www.slf4j.org/download.html)(3)然后將下面的各個*.lib庫文件(總共13文件)在Eclipse中導入放到Web應用的/WEB-INF/lib目錄中。antlr-2.7.5H3.jar、hibernate-cglib-repack-2.1_3.jar、commons-collections-3.1.jar、commons-logging.jar(在Struts中已經包含有,可以不再需要它)、 javassist-3.4.GA.jar、ehcache.jar hibernate3.jar、jta-1.1.jar、dom4j-1.6.1.jar和log4
4、j-1.2.11.jar、slf4j-api-1.5.2.jar和slf4j-simple-1.5.2.jar和c3p0-0.9.1.jar。(4)最后為下面的狀態(tài)4、設計hibernate.cfg.xml的配置文件(1)新建hibernate.cfg.xml文件(2)該文件的內容如下(本例進行采用MySQL數據庫及JDBC驅動程序)!DOCTYPE hibernate-configuration PUBLIC -/Hibernate/Hibernate Configuration DTD/EN org.hibernate.dialect.MySQLDialect com.mysql.jdbc
5、.Driver jdbc:mysql:/localhost:3306/bbsdatabase root root org.hibernate.connection.C3P0ConnectionProvider 2 2 500 100 3000 2 false true true org.hibernate.cache.EhCacheProvider debug 注意:在開發(fā)中為了簡化采用了Hibernate中所內帶的C3P0的數據庫連接池方式,在項目的最后進行集成時再根據應用的需要改變?yōu)椴捎闷渌问降臄祿爝B接池方式。(3)可以在MyEclipse的Hibernate的可視化向導中進行對hib
6、ernate.cfg.xml的配置5、配置log4j.properties屬性文件在應用系統運行過程中,可以觀察Hibernate的提示內容。但如果在系統中已經添加了,就可以不再需要重復地添加。運行過程中將產生出下面的日志文件1.1.2 映射BBS數據訪問層中的各個實體PO類1、映射UserInfoPO類與UserInfo數據庫表中的各個字段(1)在Eclipse開發(fā)工具中增加一個UserInfoPO.hbm.xml文件(2)內容如下!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN (3)保證在
7、hibernate.cfg.xml文件中添加對UserInfoPO.hbm.xml的引用定義2、映射前面的AdminUserInfoPO數據庫表中的各個字段(1)增加一個AdminUserInfoPO.hbm.xml文件(2)內容如下!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN (3)保證在hibernate.cfg.xml文件中添加對AdminUserInfoPO.hbm.xml的引用定義3、映射前面的BBSInfoPO.hbm.xml數據庫表中的各個字段(1)增加一個BBSInfoPO.
8、hbm.xml文件(2)內容如下!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN !- - !- - (3)保證在hibernate.cfg.xml文件中添加對BBSInfoPO.hbm.xml的引用定義4、映射前面的BBSTitleInfoPO.hbm.xml數據庫表中的各個字段(1)增加一個BBSTitleInfoPO.hbm.xml文件(2)內容如下!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0
9、/EN (3)保證在hibernate.cfg.xml文件中添加對BBSTitleInfoPO.hbm.xml的引用定義5、映射前面的BBSReplyInfoPO.hbm.xml數據庫表中的各個字段(1)增加一個BBSReplyInfoPO.hbm.xml文件(2)內容如下!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN !- - !- - (3)保證在hibernate.cfg.xml文件中添加對BBSReplyInfoPO.hbm.xml的引用定義6、映射前面的RoleInfoPO.hbm.
10、xml數據庫表中的各個字段(1)增加一個RoleInfoPO.hbm.xml文件(2)內容如下!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN (3)保證在hibernate.cfg.xml文件中添加對RoleInfoPO.hbm.xml的引用定義1.1.3 對Hibernate的系統配置及各個實體PO組件的映射關系進行單元測試1、測試要點(1)對Hibernate組件的測試主要涉及如下兩個方面的測試1) 對其hibernate.cfg.xml文件以及各個 O/R Mapping 的*.xml文
11、件2) 基于hibernate的DAO組件中的各個數據訪問功能的方法進行測試。目前只對“對其hibernate.cfg.xml文件以及各個 O/R Mapping 的*.xml文件”進行測試。(2)在測試用例類中利用Configuration類中的configure()方法來定位被測試系統的hibernate.cfg.xml文件,從而獲得SessionFactory,最后獲得Session。2、在測試項目中添加Hibernate的各個系統包文件,最后的狀態(tài)為下面3、添加對各個*.xml文件進行測試的TestCase類(1)新增一個測試用例(2)類名稱為TestHibernateXML,包名稱為
12、com.px1987.webbbs.hibernatedaotest,基類為junit.framework.TestCase(3)編程該測試用例package com.px1987.webbbs.daotest;import junit.framework.TestCase;import junit.framework.*;import org.hibernate.cfg.*;import org.hibernate.*;import java.io.File;public class TestHibernateXML extends TestCase private SessionFacto
13、ry sessionFactory=null; protected void setUp() throws Exception super.setUp();/根據實際改變 File file =new File(D:/WebBBSApp/SSHWebBBS/WebRoot/WEB-INF/classes/hibernate.cfg.xml); Configuration config = new Configuration().configure(file); sessionFactory = config.buildSessionFactory(); /對hibernate.cfg.xml中
14、各個配置項目進行測試 public void testHibernateXML() this.assertNotNull(sessionFactory); protected void tearDown() throws Exception sessionFactory=null; super.tearDown(); (4)執(zhí)行該TestCase類-右擊該測試用例類,并選擇執(zhí)行的方式為JUnit測試(5)將出現下面的結果(6)同時在控制臺中出現下面的狀態(tài)提示如果出現錯誤,將出現下面的提示,比如將UserInfoPO.hbm.xml中的類名稱故意寫錯誤,將出現下面的錯誤提示楊教授大學堂,版權所有,盜版必究。 28/28頁