《基于J2EE Struts框架的课程设计实训项目——BBS论坛系统——构造基于Hibernate框架的持久层组件并测试对应的实体映射配置.doc》由会员分享,可在线阅读,更多相关《基于J2EE Struts框架的课程设计实训项目——BBS论坛系统——构造基于Hibernate框架的持久层组件并测试对应的实体映射配置.doc(28页珍藏版)》请在三一办公上搜索。
1、杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料基于J2EE Struts框架的课程设计实训项目BBS论坛系统构造基于Hibernate框架的持久层组件并测试对应的实体映射配置1.1.1 构造Hibernate框架的开发环境1、hibernate3.3的系统包文件的结构与前面的各个版本的文件结构发生了变化。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)最后为下面的状态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)最后为下面的状态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 注意:在开发中为了简化采用了Hibernate中所内带的C3P0的数据库连接池方式,在项目的最后进行集成时再根据应用的需要改变为采用其它形式的数据库连接池方式。(3)可以在MyEclipse的Hibernate的可视化向导中进行对hib
6、ernate.cfg.xml的配置5、配置log4j.properties属性文件在应用系统运行过程中,可以观察Hibernate的提示内容。但如果在系统中已经添加了,就可以不再需要重复地添加。运行过程中将产生出下面的日志文件1.1.2 映射BBS数据访问层中的各个实体PO类1、映射UserInfoPO类与UserInfo数据库表中的各个字段(1)在Eclipse开发工具中增加一个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的各个系统包文件,最后的状态为下面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)执行该TestCase类-右击该测试用例类,并选择执行的方式为JUnit测试(5)将出现下面的结果(6)同时在控制台中出现下面的状态提示如果出现错误,将出现下面的提示,比如将UserInfoPO.hbm.xml中的类名称故意写错误,将出现下面的错误提示杨教授大学堂,版权所有,盗版必究。 28/28页