美文网首页
spring和mybatis是怎么配合工作的?

spring和mybatis是怎么配合工作的?

作者: M_lear | 来源:发表于2024-01-26 19:39 被阅读0次

一个事务中的所有sql都只能在同一个数据库连接中执行。

spring和mybatis配合时,事务的开启、提交、回滚由spring负责,而sql的执行由mybatis负责。两者是如何配合的呢?

  1. spring代理标注了@Transactional的方法。
  2. spring从DataSource中获取一个DB连接,并开启事务(通常是将连接的自动提交模式设置为false,以便可以显式控制事务的提交和回滚)。
  3. spring事务管理器将该连接通过ThreadLocal与当前线程绑定。
  4. 后续mybatis在事务中执行sql,通过spring事务管理器获取到的都是同一连接。
  5. 如果方法正常执行完成,则spring提交事务;如果发生异常,则spring回滚事务。

相关阅读:JDBC接口

相关文章

网友评论

      本文标题:spring和mybatis是怎么配合工作的?

      本文链接:https://www.haomeiwen.com/subject/tiybodtx.html