SpringAOP——事务提交与回滚

前面学习Mybatis中Executor执行sql时,只研究了非事务执行时,直接DataSource.getConnection()创建连接。这里学习一下事务执行。

前提:SpringAOP——事务实现中学习到:Spring开启事务时会创建一个“事务连接”(需要手动提交的连接)然后通过ThreadLocal的方式,存储到当前线程中。

起因是面试官问了一个问题:spring中的事务连接和mybatis中的事务连接是否是同一个?

回答说:是同一个,但是说不出具体实现来(ThreadLocal)。

也就是说“事务连接”是Spring中创建的,Mybatis执行sql时,会从线程中取出“事务连接”,然后创建statement执行。结合mybatis——Executor用源码求证一下

 一、mybatis获取事务连接的实现

猜你喜欢

转载自www.cnblogs.com/wqff-biubiu/p/12546674.html