`
夜神月11
  • 浏览: 17568 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

mybatis-spring整合总结03_Transactions

 
阅读更多
Transactions

使用Mybatis-Spring的初衷之一是允许Mybatis参与到Spring的事务管理,而不是创建一个新的Mybatis的事务。

标准配置
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

这里的dataSource必须和SqlSessionFactoryBean是同一个,则将不会起作用。

Mybatis的SqlSession提供了明确的方法处理事务编程,但是当使用Mybatis-Spring时Spring将会给beans注入Spring管理的SqlSession,这也意味着Spring将总是管理着你的事务。

对一个Spring管理的SqlSession调用commit(),rollback(),close()方法是不被允许的。如果这样做,将会抛出UnsupportedOperationException异常。
不论JDBC的autocommit的设置,一个SqlSession的数据方法的执行或是Spring管理之外的映射类方法的执行,都将会自动提交。如果想手动提交事务,需使用一个名为PlatformTransactionManager的类,例如:
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = txManager.getTransaction(def);
try {
userMapper.insertUser(user);
	}
catch (MyException ex) {
txManager.rollback(status);
throw ex;
	}
txManager.commit(status);

分享到:
评论

相关推荐

    Spring和Mybatis整合英文文档翻译.pdf

    9. **Testing**: With MyBatis-Spring, testing becomes straightforward as you can use Spring's testing framework to set up transactions, rollbacks, and mock dependencies. This helps ensure that your ...

    springmvc+spring+mybatis的jar包

    SSM框架,即Spring MVC、Spring和MyBatis的组合,是Java开发中常见的Web应用程序框架。这个压缩包包含了这三个核心组件的jar包,为开发者提供了便捷的开发环境,无需逐一下载和配置。 1. Spring MVC:Spring MVC是...

    spring mybatis atomikos 多库分布式事务demo

    在Spring中整合Atomikos,可以实现全局的事务管理,即使跨越多个数据库,也能确保ACID(原子性、一致性、隔离性、持久性)特性。 分布式事务的核心在于解决CAP(一致性、可用性、分区容错性)理论中的问题,而2PC...

    spring-2.5常用项目包

    而Spring的JPA和ORM支持则整合了Hibernate、MyBatis等ORM框架,使得对象持久化更为简便。 4. **Spring Web**:这部分主要涉及Web应用的开发,包括Model-View-Controller(MVC)架构的支持。Spring MVC提供了灵活的...

    spring一些常用的jar包

    除了上述核心组件,Spring框架还包括了其他模块,如Spring MVC(用于Web应用的模型-视图-控制器架构)、Spring JDBC(简化JDBC操作)、Spring ORM(支持多种ORM框架如Hibernate、MyBatis)、Spring Transactions...

    Spring中文开发手册下载 CHM

    此外,手册还会涉及Spring与其他技术的整合,如Spring Security用于安全控制,Spring Batch用于批处理,以及Spring Data用于简化数据访问层的开发。对于进阶开发者,手册可能会深入探讨Spring的高级特性,如自定义...

    spring教学—常用的知识

    Spring框架还提供了大量的模块,包括Spring MVC用于构建Web应用,Spring JDBC和Spring JPA提供数据库操作支持,Spring ORM整合各种ORM框架如Hibernate,Spring Transactions管理事务,Spring Security处理应用安全,...

    003 基于ssm+extjs整合的个人记账管理系统

    SSM(Spring、SpringMVC、MyBatis)框架整合是Java Web开发中常见的技术栈,主要用于构建高效、模块化的Web应用。在这个基于SSM+ExtJS整合的个人记账管理系统中,我们可以深入探讨以下几个核心知识点: 1. **Spring...

    基于SSM的智能停车场管理系统源码.zip

    SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,常用于构建企业级应用。本项目“基于SSM的智能停车场管理系统”是一个毕业设计示例,旨在实现对停车场的智能化管理,包括车辆进出管理、车位...

Global site tag (gtag.js) - Google Analytics