美文网首页
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