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实现事务等额外逻辑的处理
相关推荐
VX_CXsjNo18 小时前
免费送源码:Java+SSM+Android Studio 基于Android Studio游戏搜索app的设计与实现 计算机毕业设计原创定制
java·spring boot·spring·游戏·eclipse·android studio·android-studio
小小鸭程序员9 小时前
Vue组件化开发深度解析:Element UI与Ant Design Vue对比实践
java·vue.js·spring·ui·elementui
hycccccch12 小时前
Springcache+xxljob实现定时刷新缓存
java·后端·spring·缓存
鸭梨大大大12 小时前
Spring Web MVC入门
前端·spring·mvc
eternal__day15 小时前
第三期:深入理解 Spring Web MVC [特殊字符](数据传参+ 特殊字符处理 + 编码问题解析)
java·前端·spring·java-ee·mvc
Aphelios38016 小时前
Java全栈面试宝典:线程协作与Spring Bean管理深度解析
java·开发语言·jvm·spring·面试·职场和发展
hello_ejb317 小时前
聊聊Spring AI的MilvusVectorStore
java·人工智能·spring
兰亭序咖啡17 小时前
学透Spring Boot — 010. 单元测试和Spring Test
spring boot·spring·单元测试
圈圈编码18 小时前
WebSocket
java·网络·spring boot·websocket·网络协议·spring
szuaudi18 小时前
SpringMVC实现text/event-stream(SSE)
java·spring