[MyBatis]autocommit2

applicationContext.xml 中的数据库和 sessionFactory以及事务配置
Xml代码   收藏代码
  1. <bean id="bssDataSource"  class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  2.     <!-- Connection Info -->  
  3.     <property name="driverClassName" value="${bss.jdbc.driver}" />  
  4.     <property name="url" value="${bss.jdbc.url}" />  
  5.     <property name="username" value="${bss.jdbc.username}" />  
  6.     <property name="password" value="${bss.jdbc.password}" />  
  7.   
  8.     <!-- Connection Pooling Info -->  
  9.     <property name="maxActive" value="${bss.dbcp.maxActive}" />  
  10.     <property name="maxIdle" value="${bss.dbcp.maxIdle}" />  
  11.     <property name="defaultAutoCommit" value="false" />  
  12.     <!-- 连接Idle一个小时后超时 -->  
  13.     <property name="timeBetweenEvictionRunsMillis" value="3600000" />  
  14.     <property name="minEvictableIdleTimeMillis" value="3600000" />  
  15.     <property name="testOnBorrow" value="true" />  
  16.     <property name="testWhileIdle" value="true" />  
  17.     <property name="validationQuery" value="${bss.dbcp.validationQuery}" />  
  18. </bean>  
  19.   
  20.   
  21. <!-- MyBatis配置 -->  
  22. <bean id="bssSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  23.     <property name="dataSource" ref="bssDataSource" />  
  24.     <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 别名 -->  
  25.     <property name="typeAliasesPackage" value="com.jxnc56.bss.entity" />  
  26.     <!-- 显式指定Mapper文件位置 -->  
  27.     <property name="mapperLocations" >  
  28.         <list>  
  29.         <value>  
  30.             classpath:config/mybatis/sqlmap/bss/**/*.xml  
  31.         </value>  
  32.         </list>  
  33.     </property>  
  34. </bean>  
  35.   
  36.   
  37. <!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口-->  
  38. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  39.     <property name="basePackage" value="com.jxnc56.bss" />  
  40.     <property name="annotationClass" value="com.jxnc56.bss.dao.MyBatisRepository"/>  
  41. </bean>  
  42.   
  43. <!-- 事务管理,@Transactional("tmBss") -->  
  44. <bean id="tmBss" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  45.     <property name="dataSource" ref="bssDataSource"></property>  
  46.     <qualifier type="org.springframework.beans.factory.annotation.Qualifier" value="tmBss" />  
  47. </bean>  
  48.   
  49. <!-- 使用annotation定义数据库事务,这样可以在类或方法中直接使用@Transactional注解来声明事务 -->  
  50. <tx:annotation-driven transaction-manager="tmBss"  proxy-target-class="true" />  


java  TEST:
Java代码   收藏代码
  1. @Transactional("tmBss")  
  2. public class ProductServiceTest extends SpringTransactionalTestCase {  
  3.     @Autowired  
  4.     private ProductDao pDao;  
  5.       
  6.     @Test  
  7.     public void deleteTest (){  
  8.         pDao.delete(4);  
  9.         Product product = new Product();  
  10.         product.setId(4);  
  11.         System.out.println("-------------------------------------------->"+Arrays.toString(pDao.select(product).toArray()));  
  12.     }  
  13. }  


其中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方法,还要插入

与事务无关

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值