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实现事务等额外逻辑的处理
相关推荐
@ chen25 分钟前
Spring事务 核心知识
java·后端·spring
煎饼皮皮侠29 分钟前
设计一个分页插件之二【基于mybatis实现分页插件】
mybatis·分页插件
RANCE_atttackkk2 小时前
Springboot+langchain4j的RAG检索增强生成
java·开发语言·spring boot·后端·spring·ai·ai编程
她说..4 小时前
策略模式+工厂模式实现单接口适配多审核节点
java·spring boot·后端·spring·简单工厂模式·策略模式
EmmaXLZHONG5 小时前
Reinforce Learning Concept Flow Chart (强化学习概念流程图)
人工智能·深度学习·机器学习·流程图
不光头强5 小时前
shiro学习要点
java·学习·spring
无尽的沉默5 小时前
使用Spring Initializr 快速创建Maven管理的springBoot项目
spring boot·spring·maven
qq_12498707536 小时前
基于springboot的林业资源管理系统设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
一起养小猫7 小时前
Flutter for OpenHarmony 实战:天气预报应用UI设计与主题切换
jvm·数据库·spring·flutter·ui·harmonyos
虾说羊7 小时前
公平锁与非公平锁的区别与不同的使用场景
java·开发语言·spring