Mybatis、Mybatis整合Spring的流程图

Mybatis

注意MapperProxy里面有invoke方法,当进到invoker方法会拿到

二、mybatis整合Spring

java 复制代码
1、当我们的拿到的【Dao】其实就是【MapperProxy】,执行Dao的方法时,会被MapperProxy的【Invoke方法拦截】
2、图上已经标注了MapperProxy包含哪些属性,在Invoke方法里面,就是通过这些属性,【执行sql】。
java 复制代码
1、Mybatis和Spring整合后,获取Dao的代理对象是通过MapperFactoryBean,而不是之前的MapperProxyFactory,
2、但是MapperFactoryBean其实也是间接从MapperProxyFactory里面拿到的。

3、拿到MapperProxy,执行Dao的方法会被MapperProxy的Invoke方法拦截,这里和Mybatis是一样的。

4、这里的Invoke方法拦截后,是转到了SqlSessionTemplate,由SqlSessionTemplate的属性sqlSessionProxy
执行sql

5、在sqlSessionProxy里面也有一个Invoke方法,里面进一步对事物的进行了封装。

6、整个过程,进了【2个不同的Invoke方法】,这就是Spring实现事务等额外逻辑的处理
相关推荐
我是小妖怪,潇洒又自在3 小时前
springcloud alibaba(八)链路追踪
后端·spring·spring cloud·sleuth·zipkin
缘来是庄4 小时前
invalid comparison
java·spring boot·mybatis
小二·4 小时前
MyBatis基础入门《十》Spring Boot 整合 MyBatis:从单数据源到多数据源实战
spring boot·后端·mybatis
谷哥的小弟5 小时前
Spring Framework源码解析——ApplicationContextException
java·spring·源码
学到头秃的suhian5 小时前
Springboot进阶知识
java·spring boot·spring
小光学长6 小时前
基于ssm的美妆产品推荐系统rah0h134(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring
老王头的笔记6 小时前
Spring支持的消费器模式,支持在当前事务提交、或回滚的前、后执行业务操作
java·windows·spring
Li_7695326 小时前
Spring Cloud — SkyWalking(六)
java·后端·spring·spring cloud·skywalking
05大叔7 小时前
苍穹外卖Day01
spring·外卖项目
吃喝不愁霸王餐APP开发者8 小时前
霸王餐API网关层缓存:Nginx Proxy Cache与Cache-Control细节
nginx·spring·缓存