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实现事务等额外逻辑的处理
相关推荐
编程(变成)小辣鸡22 分钟前
Spring事务失效场景
java·后端·spring
一路向北North4 小时前
Spring Security OAuth2.0(18):资源服务测试
java·后端·spring
ahauedu6 小时前
多租户 RAG 知识库系统基于Spring Boot 4.0.5+Spring AI 2.0.0 + Milvus
spring·rag·springai2.0
一路向北North7 小时前
Spring Security OAuth2.0(19):JWT令牌
java·后端·spring
卓怡学长9 小时前
w268基于springboot + vue 物流系统
java·数据库·vue.js·spring boot·spring·intellij-idea
han_hanker9 小时前
sql语法 MyBatis <foreach> 标签详解
windows·sql·mybatis
ACGkaka_10 小时前
Spring Boot 实战(四十二):集成 Spring AI 六大场景
人工智能·spring boot·spring
卓怡学长1 天前
w269基于spring boot + vue 候鸟监测数据管理系统
java·数据库·spring boot·spring·intellij-idea
Listen·Rain1 天前
向量化详解
java·人工智能·spring·机器学习·ai
添砖java_8571 天前
网页聊天室测试报告
java·spring boot·spring·maven