`

junit学习(九)——Hibernate的单元测试

阅读更多

1、在项目中添加Hibernate的Libraries

 

在项目上右击---->Properties---->Java Build  Path---->Libraries选项卡---->Add Library---->MyEclipse Libraries---->Hibernate x.x Core Libraries。我这里添加的是3.0版本。

 

2、在src下新建Hibernate的配置文件:hibernate.cfg.xml,新建一个session-factory用于连接数据库。代码如下:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
	<session-factory>
		<property name="dialect">
			org.hibernate.dialect.SQLServerDialect
		</property>
		<property name="connection.url">
			jdbc:sqlserver://127.0.0.1:1433;databaseName=test
		</property>
		<property name="connection.username">sa</property>
		<property name="connection.password">sa</property>
		<property name="connection.driver_class">
			com.microsoft.sqlserver.jdbc.SQLServerDriver
		</property>
	</session-factory>
</hibernate-configuration>

3、 在test资源包中新建HibernateSessionFactory类,用于读取Hibernate的配置文件

package com.wjl.junit;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

public class HibernateSessionFactory {

    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
	private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
    private  static Configuration configuration = new Configuration();    
    private static org.hibernate.SessionFactory sessionFactory;
    private static String configFile = CONFIG_FILE_LOCATION;

	static {
    	try {
			configuration.configure(configFile);
			sessionFactory = configuration.buildSessionFactory();
		} catch (Exception e) {
			System.err
					.println("%%%% Error Creating SessionFactory %%%%");
			e.printStackTrace();
		}
    }
    private HibernateSessionFactory() {
    }
	
    public static Session getSession() throws HibernateException {
        Session session = (Session) threadLocal.get();

		if (session == null || !session.isOpen()) {
			if (sessionFactory == null) {
				rebuildSessionFactory();
			}
			session = (sessionFactory != null) ? sessionFactory.openSession()
					: null;
			threadLocal.set(session);
		}

        return session;
    }

	public static void rebuildSessionFactory() {
		try {
			configuration.configure(configFile);
			sessionFactory = configuration.buildSessionFactory();
		} catch (Exception e) {
			System.err
					.println("%%%% Error Creating SessionFactory %%%%");
			e.printStackTrace();
		}
	}

    public static void closeSession() throws HibernateException {
        Session session = (Session) threadLocal.get();
        threadLocal.set(null);

        if (session != null) {
            session.close();
        }
    }

	public static org.hibernate.SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public static void setConfigFile(String configFile) {
		HibernateSessionFactory.configFile = configFile;
		sessionFactory = null;
	}

	public static Configuration getConfiguration() {
		return configuration;
	}
}

注:以上两个文件,在项目中添加Hibernate时会自动生成,可以先添加Hibernate,然后直接拷贝配置文件。

 

4、新建测试类进行测试

package com.wjl.junit;

import org.hibernate.Session;
import org.junit.Test;
/**
 * Junit_demo_12
 * Hibernate的单元测试
 * **/
public class HibernateTest {
	@Test
	public void test(){
		Session session = HibernateSessionFactory.getSession();
		System.out.println(session);//结果:org.hibernate.impl.SessionImpl(......),说明Hibernate已经添加到项目中
	}
}

说明Hibernate已经添加到项目中。

分享到:
评论

相关推荐

    junit学习(十)——Springpring与Hibernate整合的单元测试

    在本篇《junit学习(十)——Spring与Hibernate整合的单元测试》中,我们将探讨如何在Java开发中,利用JUnit进行Spring和Hibernate框架的集成测试。单元测试是软件开发中的重要环节,它能帮助开发者确保代码的质量和...

    hibernate和junit的jar

    标题中的“hibernate和junit的jar”指的是两个重要的Java开发工具——Hibernate ORM框架的jar文件和JUnit测试框架的jar文件。这两个组件在Java应用开发中起着至关重要的作用。 **Hibernate ORM框架**是Java领域中最...

    Spring+hibernate 单元测试

    ### Spring+Hibernate 单元测试详解 #### 一、Spring 2.5 TestContext 测试框架简介 Spring 2.5 版本引入了一个全新的基于注解的测试框架——TestContext,该框架与之前的测试框架相比有着显著的区别。TestContext...

    hibernate、struts、mysql、junit等jar包

    在Java Web开发中,四大框架——Hibernate、Struts、MySQL和JUnit扮演着至关重要的角色。这些jar包是构建高效、可维护的Web应用程序的基础组件。接下来,我们将详细探讨每个框架的核心概念及其在Java Web开发中的...

    activti实例带完整JUnit4测试

    描述中的内容简洁,主要强调了这个实例项目的特点——集成了JUnit4测试,意味着开发者可以对Activiti的各个部分进行详尽的测试,确保流程的稳定性和功能的正确性。 **标签解析** - **activti5.15**:这表示使用的...

    struts2+hibernate整合的例子——新闻管理系统

    8. **测试**:编写JUnit测试用例,对Action和DAO层的功能进行单元测试,确保功能正常。 此新闻管理系统展示了如何利用Struts2和Hibernate这两个强大的框架进行集成,以提高开发效率和代码的可维护性。开发者可以...

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1

    此外,书中可能还会涉及一些最佳实践和设计模式,如单例模式、工厂模式等,以及如何使用JUnit进行单元测试,确保代码质量。对于想要提升Java EE开发能力的程序员来说,这本书无疑是一份宝贵的资源。 总的来说,《轻...

    Junit的一份资料

    JUnit 是一个广泛使用的Java编程语言的单元测试框架,它使得开发者能够方便地编写和执行针对代码各个部分的测试用例,以确保代码的正确性和稳定性。Junit的实施涉及到多个方面,包括测试概念、JUnit框架的使用、最佳...

    Struts2与Hibernate3的集成开发案例——网上书店

    8. **测试**:编写JUnit测试用例,对服务层和持久层进行单元测试,确保功能的正确性。同时,还需要在浏览器中进行功能测试,验证整个应用的运行效果。 这个案例涵盖了Web应用开发中的许多核心概念,如MVC架构、ORM...

    轻量级Java+EE企业应用实战——Struts+2+Spring+Hibernate整合开发电子书3.pdf

    7. 整合测试:介绍如何使用JUnit、Mockito等工具对整合后的系统进行单元测试和集成测试。 由于源码并未随电子书一同提供,读者可能需要自行实践书中所讲的案例,以加深理解和掌握这些技术。通过学习这本书,开发者...

    hibernate5常用的jar包集合(连接mysql)

    4. **JUnit**:junit.jar是单元测试框架,用于测试代码的正确性。在Hibernate项目中,JUnit可以帮助开发者验证ORM逻辑是否按预期工作,例如测试实体的保存、更新、查询等操作。 5. **其他依赖**:Hibernate 5可能还...

    Hibernate存储图片

    根据提供的信息来看,实际内容与所需生成的知识点——“Hibernate存储图片”的配置方法存在较大偏差。但是,基于题目要求,我们将围绕“Hibernate存储图片”这一主题展开详细论述,并结合给出的部分内容来尽可能地...

    Spring+Hibernate写的登录小例子

    7. **测试**:Spring支持单元测试和集成测试,可能通过JUnit和Mockito等工具进行。测试是确保代码质量的重要环节,对于登录功能,应测试用户名和密码的验证逻辑,以及正常和异常情况下的响应。 8. **配置**:项目...

    用maven整合struts+spring+hibernate

    "用maven整合struts+spring+hibernate"这个主题,就是关于如何将这三大核心框架——Struts、Spring和Hibernate——集成到一个项目中的实践教程。Struts提供了MVC(Model-View-Controller)架构,Spring是全面的后端...

    myhibernate.zip

    《Hibernate实战指南——基于Junit的CRUD及SQL、HQL操作详解》 在Java世界里,ORM(Object-Relational Mapping)框架是连接数据库的重要桥梁,而Hibernate作为其中的佼佼者,深受广大开发者的青睐。本指南将深入...

    ant测试用例-monkeys

    标题中的“ant测试用例-monkeys”表明...通过深入研究这个"monkeys"测试用例,开发者可以学习如何使用Ant进行项目管理和自动化测试,同时掌握如何结合Hibernate进行数据访问层的测试,提升对Java应用测试和构建的理解。

    简单的SSH框架搭建包含测试方法(其中hibernate包含在Spring框架中)

    9. **测试**:编写JUnit测试用例,对服务层和Action层进行单元测试,确保功能正常运行。 在提供的压缩包文件"ssh3"中,可能包含了搭建SSH框架所需的配置文件、实体类、DAO、Service、Action以及测试类等。通过阅读...

    网络商店实例编程(struts2+hibernate+velocity)

    7. **测试与调试**:掌握单元测试(JUnit)和集成测试(如TestNG)的基本用法,以及如何使用日志框架(如Log4j)进行问题定位。 8. **版本控制与团队协作**:了解Git或SVN的使用,如何进行代码提交、分支管理,以及...

    hibernate 环境搭建

    10. **运行测试**: 创建一个简单的JUnit测试用例,验证Hibernate是否能正确连接到数据库并执行操作。 通过以上步骤,你已经成功地搭建了一个基础的Hibernate环境,并且可以开始使用它进行数据库操作了。在实际项目...

    轻量级Java_EE企业应用实战_Struts_2+Spring_3+Hibernate整合开发_第3版

    8. 测试驱动开发,使用JUnit进行单元测试,Mockito模拟对象,确保代码质量。 这本书《轻量级Java_EE企业应用实战_Struts_2+Spring_3+Hibernate整合开发_第3版》应该会详细讲解这些知识点,并给出实际案例,帮助读者...

Global site tag (gtag.js) - Google Analytics