热爱学习,热爱生活!
沉淀、分享、成长,让自己和他人都有所收获!
1. 米巴蒂斯简介
MyBatis官方文档
米巴蒂斯
是否有一个工具被设计用来帮助开发人员屏蔽潜在的重复内容JDBC
代码的持久层框架支持配置文件或注释结果集
映射到Java
对象。与其他相比蠕虫
框架,米巴蒂斯
更轻量级,支持定制SQL
和动态SQL
,方便优化查询性能,还包括良好的缓存机制。
2. 米巴蒂斯的整体结构
米巴蒂斯
总体结构如下:
接口层
-
SqlSession
接口层定义了对应用程序调用的公开应用程序接口
,接口层将在接收到请求时调用核心层处理相关模块完成具体的数据库操作。
核心层处理
- 配置分析:
米巴蒂斯
配置文件、映射文件和映射器
解析后,接口的注释信息将以对象的形式保存配置
对象。 -
SQL
解析与脚本
模块:米巴蒂斯
通过配置支持动态配置SQL
,根据不同的参数生成SQL
。 -
SQL
执行和结果集映射:遗嘱执行人
负责维护缓存和事务管理,并委派数据库操作语句处理程序
,ParmaterHandler
负责完成SQL
语句的实际参数被绑定和传递声明
对象执行SQL
,最终通过结果集
将结果返回到结果集Handler
句柄映射到Java
对象。 - 插件:支持开发人员使用插件接口来
米巴蒂斯
扩大。
基础支撑层
- 数据源模块:提供数据源实现,可集成第三方数据源模块。
- 事务管理模块:可以和
春天
事物的综合开发与管理。 - 缓存模块:提供一级缓存和二级缓存,在缓存层拦截部分请求,分担数据库压力,提高性能。
-
绑定
模块:调用时SqlSession
当相应的方法执行数据库操作时,需要指定SQL
节点,米巴蒂斯
通过绑定
该模块将进行自定义映射器
接口与映射文件相关联,以避免在运行时发现的拼写等错误。 - 反射模块:提供打包反射
应用程序接口
,方便上层调用。 - 类型转换:为简化配置文件提供别名机制,并实现
Java
类型和JDBC
类型转换。 - 日志模块:可以集成各种第三方日志框架。
- 资源加载模块:封装了类加载器,提供了类加载文件和其他资源文件的功能。
- 解析器模块:是
Xpath
为…包装流
支持在初始化过程中解析配置文件和映射文件,并处理动态SQL
支持语句中的占位符。
3.米巴蒂斯的执行过程
米巴蒂斯的执行流程如下:
