spring,Hibernate,Junit整合

来源:互联网 发布:windows10怎么忘记网络 编辑:程序博客网 时间:2024/05/20 11:27
package com.unittest.session.example1.dao.hibernate;import static org.junit.Assert.*;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.transaction.TransactionConfiguration;import com.unittest.session.example1.dao.EmployeeDAO;import com.unittest.session.example1.domain.Employee;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:spring-context.xml")@TransactionConfiguration(defaultRollback=true,transactionManager="transactionManager")public class EmployeeHibernateDAOImplTest {@Autowiredprivate EmployeeDAO employeeDAO;@Testpublic void testGetEmployeeById() {Employee emp = employeeDAO.getEmployeeById(1L);assertNotNull(emp);}@Testpublic void testCreateEmployee(){Employee emp = new Employee();emp.setName("Emp123");Long key = employeeDAO.createEmployee(emp);assertEquals(2L, key.longValue());}}

import.sql

insert into Employee (empId,emp_name) values (1,'Emp testa');
spring-context.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"><context:component-scan base-package="com.unittest.session.example1" /><context:annotation-config /><tx:annotation-driven /><bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="packagesToScan"><list><value>com.unittest.session.example1.**.*</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop><prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/test</prop><prop key="hibernate.connection.username">root</prop><prop key="hibernate.connection.password"></prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><!-- --><prop key="hibernate.hbm2ddl.auto">create</prop><prop key="hibernate.hbm2ddl.import_files">import.sql</prop></props></property></bean><bean id="empDAO"class="com.unittest.session.example1.dao.hibernate.EmployeeHibernateDAOImpl"><property name="sessionFactory" ref="sessionFactory" /></bean><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean></beans>

CREATE TABLE employee(  empId INT NOT NULL PRIMARY KEY AUTO_INCREMENT,  emp_name VARCHAR(1024) NOT NULL);
原文:http://www.javacodegeeks.com/2012/11/how-cool-is-integration-testing-with-spring-and-hibernate.html

源代码:http://pan.baidu.com/share/link?shareid=741187651&uk=3878681452