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实现事务等额外逻辑的处理
相关推荐
学代码的CJY27 分钟前
Linux 重定向、管道与环境变量
linux·spring boot·spring
YOU OU1 小时前
Spring Cloud概述
后端·spring·spring cloud
名字还没想好☜2 小时前
Java Cleaner 实战:替代废弃的 finalize() 做堆外资源清理,以及强引用导致永不回收的坑
java·后端·spring
2601_962073974 小时前
苍穹外卖-day07(Spring Cache & 购物车业务逻辑)
java·后端·spring
xixiaoyunya5 小时前
Redis 缓存一致性方案深度对比:从理论到工程落地
redis·spring·缓存
user_admin_god5 小时前
一体化数据归集接口详细设计说明
java·大数据·spring boot·后端·spring
程序员阿明6 小时前
spring boot4集成spring AI 2
人工智能·spring boot·spring
迪飞特科技7 小时前
《MyBatis 批量插入性能优化的 5 个关键参数配置》
android·性能优化·mybatis
橘子编程7 小时前
Java邮件发送全攻略:从入门到实战
java·开发语言·spring boot·spring·spring cloud·maven
小白说大模型8 小时前
基于 Qwen3.8-Max 构建 AI 合同精审系统:文档解析、多轮条款分析 Pipeline 工程实战
数据库·人工智能·spring·机器学习·自然语言处理