当前位置: 首页 > news >正文

Spring整合Mybatis过程

配置文件 

springConfig --> [jdbcConfig + mybatisConfig]

        jdbc配置文件进行基本的数据库连接池配置

        mybatis配置文件进行SqlSessionFactory Bean 和 MapperScannerConfigurer Bean的创建

在Spring容器启动时,系统会根据配置创建并初始化所有MyBatis所需的Bean[基于springConfig配置文件自动装配]

Bean的生成时机

在 Spring 和 MyBatis 整合时,Mapper Bean 是在Spring 容器启动时由 MyBatis-Spring 自动创建的,创建时机通常是容器初始化期间。通过配置扫描路径,Spring 会自动为每个 Mapper 接口生成代理对象,并将其注册为 Bean,从而使得我们可以在其他组件中直接注入并使用

过程

当我们调用数据层的sql操作方法时 mybatis会自动通过动态代理机制执行相应的sql语句,这种代理机制可以让我们只需定义Mapper,而无需编写接口的实现类。---mybatis会自动生成接口进行代理实现

代理模式的使用使得我们在调用DAO接口方法时,实际上是调用MyBatis生成的代理类方法,这个方法内部会利用XML或注解配置的SQL来查询数据库并返回结果

 机制

MyBatis在扫描到@MapperScan注解或XML配置的Mapper路径时,其中的DAO接口。MyBatis会自动为这些DAO接口生成代理实现,这些代理会通过SqlSessionTemplate来执行SQL语句。

对于每个Mapper接口,MyBatis会创建一个动态代理对象,这个代理对象会拦截实际接口方法的调用,并根据方法名、参数和配置执行相应的SQL语句。这些代理会通过SqlSessionTemplate来执行SQL语句。

http://www.lryc.cn/news/477011.html

相关文章:

  • 常见HR问题篇
  • 调用数据集mnist(下载+调用全攻略)
  • 【基础语法】Java Scanner hasNext() 和 hasNextLine() 的区别
  • react使用Fullcalendar 实战用法
  • 优秀项目经理必知的10款项目管理软件推荐
  • 植物神经紊乱不用怕,这些维生素来帮你!
  • NRF52832学习笔记(41)——添加串口库libuarte
  • Moore Perf System 1.1版本
  • SpringBoot+Shirp的权限管理
  • OpenCV图像基础
  • 基于MATLAB的图像拼接技术
  • ComfyUI 快速入门(环境搭建)
  • 将HTML项目上传至Gitee仓库(详细教程)
  • 如何应对Oracle SQL语句的数据去重问题,应该考虑哪几个方面?
  • 论负载均衡技术在Web系统中的应用论文
  • NumPy 数据类型
  • JavaScript——(4)
  • 每日一练 | DHCP Relay(DHCP 中继)
  • `psdparse`:解锁Photoshop PSD文件的Python密钥
  • 考研要求掌握的C语言程度(插入排序)
  • mybatis源码解析-sql执行流程
  • Golang | Leetcode Golang题解之第538题把二叉搜索树转换为累加树
  • 【linux】HTTPS 协议原理
  • 安利一款开源企业级的报表系统SpringReport
  • 数据安全-接口数据混合加密笔记
  • JeecgBoot入门
  • 用 Vue.js 打造炫酷的动态数字画廊:展示学生作品的创意之旅
  • 【YOLO学习】YOLOv8改进举例
  • 文心一言 VS 讯飞星火 VS chatgpt (383)-- 算法导论24.5 3题
  • 【AIGC】如何通过ChatGPT轻松制作个性化GPTs应用