0 0

mybatis spring 整合 junit测试。 事务不起作用,不提交。插入无效???0

applicationContext.xml 中的数据库和 sessionFactory以及事务配置
	<bean id="bssDataSource"  class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<!-- Connection Info -->
		<property name="driverClassName" value="${bss.jdbc.driver}" />
		<property name="url" value="${bss.jdbc.url}" />
		<property name="username" value="${bss.jdbc.username}" />
		<property name="password" value="${bss.jdbc.password}" />

		<!-- Connection Pooling Info -->
		<property name="maxActive" value="${bss.dbcp.maxActive}" />
		<property name="maxIdle" value="${bss.dbcp.maxIdle}" />
		<property name="defaultAutoCommit" value="false" />
		<!-- 连接Idle一个小时后超时 -->
		<property name="timeBetweenEvictionRunsMillis" value="3600000" />
		<property name="minEvictableIdleTimeMillis" value="3600000" />
		<property name="testOnBorrow" value="true" />
		<property name="testWhileIdle" value="true" />
		<property name="validationQuery" value="${bss.dbcp.validationQuery}" />
	</bean>


	<!-- MyBatis配置 -->
	<bean id="bssSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="bssDataSource" />
		<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 别名 -->
		<property name="typeAliasesPackage" value="com.jxnc56.bss.entity" />
		<!-- 显式指定Mapper文件位置 -->
		<property name="mapperLocations" >
		    <list>
		    <value>
		        classpath:config/mybatis/sqlmap/bss/**/*.xml
		    </value>
		    </list>
		</property>
	</bean>
	

	<!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口-->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.jxnc56.bss" />
		<property name="annotationClass" value="com.jxnc56.bss.dao.MyBatisRepository"/>
	</bean>
	
	<!-- 事务管理,@Transactional("tmBss") -->
	<bean id="tmBss" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="bssDataSource"></property>
		<qualifier type="org.springframework.beans.factory.annotation.Qualifier" value="tmBss" />
	</bean>

	<!-- 使用annotation定义数据库事务,这样可以在类或方法中直接使用@Transactional注解来声明事务 -->
	<tx:annotation-driven transaction-manager="tmBss"  proxy-target-class="true" />


java  TEST:
@Transactional("tmBss")
public class ProductServiceTest extends SpringTransactionalTestCase {
	@Autowired
	private ProductDao pDao;
	
	@Test
	public void deleteTest (){
		pDao.delete(4);
		Product product = new Product();
		product.setId(4);
		System.out.println("-------------------------------------------->"+Arrays.toString(pDao.select(product).toArray()));
	}
}


其中ProductDao 是被@MyBatisRepository标示的接口
log:
2013-06-07 09:40:57 107 - org.mybatis.spring.transaction.SpringManagedTransaction -915  [main] DEBUG org.mybatis.spring.transaction.SpringManagedTransaction  - JDBC Connection [jdbc:mysql://localhost/nrcompany?useUnicode=true&characterEncoding=utf-8, UserName=root@localhost, MySQL-AB JDBC Driver] will be managed by Spring
2013-06-07 09:40:57 110 - com.jxnc56.bss.dao.ProductDao.delete -918  [main] DEBUG com.jxnc56.bss.dao.ProductDao.delete  - ooo Using Connection [jdbc:mysql://localhost/nrcompany?useUnicode=true&characterEncoding=utf-8, UserName=root@localhost, MySQL-AB JDBC Driver]
2013-06-07 09:40:57 115 - com.jxnc56.bss.dao.ProductDao.delete -923  [main] DEBUG com.jxnc56.bss.dao.ProductDao.delete  - ==>  Preparing: delete from product where id=?
2013-06-07 09:40:57 140 - com.jxnc56.bss.dao.ProductDao.delete -948  [main] DEBUG com.jxnc56.bss.dao.ProductDao.delete  - ==> Parameters: 4(Integer)
2013-06-07 09:40:57 142 - org.mybatis.spring.SqlSessionUtils -950  [main] DEBUG org.mybatis.spring.SqlSessionUtils  - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a9d95]
2013-06-07 09:40:57 142 - org.mybatis.spring.SqlSessionUtils -950  [main] DEBUG org.mybatis.spring.SqlSessionUtils  - Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a9d95] from current transaction

问题补充:标题打错了 是删除数据

问题补充:问题已经解决了,谢谢前面两位的热心。
2013年6月07日 09:56

2个答案 按时间排序 按投票排序

0 0

采纳的答案

    @Test 
   @Rollback(false)
    public void deleteTest (){ 

2013年6月07日 21:25
0 0

缺少类似  pDao.save(product);
插入数据的方法。

没有插入数据,只是调用了下set方法,还要插入

与事务无关

2013年6月07日 12:30

相关推荐

    mybatis-spring 整合jar包

    mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1

    spring_mybatis 整合jar包

    在Java开发领域,Spring框架和MyBatis框架的整合是常见的数据访问技术组合。Spring作为一个全面的开源应用框架,提供依赖注入(DI)和面向切面编程(AOP)等功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL...

    Mybatis与Spring整合所需的jar包

    mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-...

    mybatis与spring整合的全部jar包

    SSM(Spring、SpringMVC、MyBatis)框架整合是Java开发中常见的技术栈,主要用于构建企业级的Web应用程序。在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常...

    spring3 + mybatis3 + junit4 可运行项目示例

    这是一个基于Spring3、MyBatis3和JUnit4的可运行项目示例,旨在提供一个完整的、可测试的Java Web应用程序框架。这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented...

    mybatis与spring整合全部jar包

    这些jar包包括但不限于:spring-context、spring-webmvc、mybatis、mybatis-spring等。 2. **配置Spring**:创建`applicationContext.xml`配置文件,定义Bean的实例和依赖关系。例如,定义DataSource、...

    SpringMybatisSpringMvc整合包

    这个整合包中的jar包包括了Spring框架的core、context、aop、beans、web等模块,Mybatis的核心库和Spring Mybatis的整合模块,以及Spring MVC的相关组件。这些jar包涵盖了运行Spring、Mybatis和Spring MVC应用所需的...

    spring与mybatis整合实现事务配置

    SUPPORTED(不支持事务,如果有事务则挂起)、NEVER(不允许存在事务,如果有则抛出异常)、NESTED(嵌套事务,如果当前事务存在,则在嵌套事务内执行,否则新建事务)。 4. **Spring的回滚规则**:默认情况下,...

    mybatis-spring 整合包

    MyBatis-Spring 整合包是专门为将MyBatis持久层框架与Spring应用框架集成而设计的一个组件。这个包的出现旨在简化MyBatis在Spring环境中的配置和使用,使得开发者可以充分利用两者的优点,实现更加灵活和方便的数据...

    MySql驱动MyBatis架包,JUnit架包

    在开发Java Web应用程序时,MyBatis是一个非常流行的持久层框架,它简化了数据库操作并与Spring等其他框架集成良好。而JUnit是Java编程语言中广泛使用的单元测试框架,用于确保代码的质量和可靠性。MySql是广泛应用...

    spring整合Mybatis

    在IT行业中,Spring框架与Mybatis的整合是常见的企业级应用开发模式,它结合了Spring的强大功能和Mybatis的灵活性,使得数据访问更加高效。本文将深入探讨如何进行"Spring整合Mybatis"的基础搭建,以及涉及到的相关...

    struts2.3+spring3.2+mybatis3.1整合注释行事务处理(含jar包)

    在这个整合项目中,使用了注释型的事务管理,这意味着事务的开启、提交和回滚都是通过在方法上添加特定的Spring注解(如@Transactional)来实现的。这种方式的优点在于代码更易读,无需在XML配置文件中进行繁琐的...

    mybatis和spring整合jar包

    标题中的"mybatis和spring整合jar包"表明我们要讨论的是如何将两个流行的Java框架——MyBatis和Spring——集成在一起,以便在同一个项目中利用它们各自的优势。MyBatis是一个轻量级的持久层框架,它允许开发者用SQL...

    mybatis spring 整合的包

    MyBatis-Spring 整合是Java开发中常见的数据访问技术组合,主要用于简化MyBatis与Spring框架的集成。这两个库的版本,`mybatis-3.0.2` 和 `mybatis-spring-1.0.0-RC1`,在当时提供了稳定且高效的集成环境,使得...

    Spring-Mybatis整合

    Spring 和 Mybatis 是两个在...通过上述内容,我们可以看到Spring-Mybatis整合涉及到的核心知识点,包括框架的引入、配置、接口设计、事务管理和测试等多个方面。理解并掌握这些知识点,对于进行Java Web开发至关重要。

    mybatis-spring整合简单的实例代码

    7. **测试**:项目中可能包含一个简单的测试类,使用JUnit和Spring Test注解来测试`UserService`的功能,确保MyBatis-Spring整合正确无误。 8. **运行**:项目完成后,可以将整个项目导入IDE,配置好Maven和Tomcat...

    Spring-SpringMVC-Mybatis整合所有jar包

    这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...

    mybatis整合spring 实例

    整合MyBatis和Spring,我们可以利用Spring的IoC容器管理MyBatis的SqlSessionFactory和SqlSession,同时可以将MyBatis的Mapper接口直接作为Spring的Bean来使用,这样就实现了数据访问层的解耦和便捷的事务管理。...

    springmvc3+spring+mybatis3整合项目 注解实现

    Spring MVC、Spring 和 MyBatis 是Java开发中常用的三大框架,它们各自负责应用程序的不同层面:Spring MVC 处理Web请求,Spring 提供依赖注入和事务管理,而MyBatis 则是持久层框架,用于数据库操作。这个整合项目...

    mybatis-spring整合项目

    2. **事务管理**: Spring可以控制MyBatis的事务边界,通过PlatformTransactionManager实现事务的提交和回滚。 3. **MapperScannerConfigurer**: 这是一个Spring配置类,用于扫描指定包下的Mapper接口,自动注册为...

Global site tag (gtag.js) - Google Analytics