mybatis执行流程_【MyBatis从入门到入土精讲】MyBatis的整体架构

d45bc9f7de5f8acb5d5141c79ae5e8b9.png

众所周知,MyBatis是一款优秀的持久层框架。如果想深入了解一门技术,我们必须先熟悉它的一个整个架构是什么样的。

MyBatis的整体架构分为三层:基础支持层、核心处理层和接口层。

接口层

接口层是面向用户的,其核心是SqlSession接口,我们使用MyBatis就是使用SqlSession提供的API,它是应用程序与MyBatis交互的桥梁。当我们使用MyBatis与数据库交互的时候,接口层就调用核心处理层的相应模块来完成具体的数据库操作。

0ab95d1d1a261286f5960a0aca72e5f3.png

核心处理层

介绍了接口层之后,就是我们的核心处理层。大致的说,核心处理层实现了MyBatis的核心处理流程,包括MyBatis的初始化和一次数据库操作的涉及的全部流程。

  • 配置解析

MyBatis初始化会加载mybatis-config.xml配置文件、映射配置文件以及Mapper接口中的注解信息。解析后的配置信息,会形成相应的对应保存在Configuration对象中。随后,利用Configuration对象创建SqlSessionFactory对象。到了这一步,大家应该很熟悉了。我们就是使用SqlSessionFactory对象来获得SqlSession对象的。

  • SQL执行

SQL执行涉及到几个组件。其中主要的有Executor、StamentHandler、ParameterHandler和ResultHandler。Executor负责维护一级缓存和二级缓存,并提供事务管理;Executor将数据库的相关操作交给StatementHandler,它会通过ParameterHandler完成参数绑定,再通过Statement执行SQL语句并得到结果集ResultSet,最后通过ResultSetHandler完成结果集的映射。

e4f41b6746b863d4de0cb451f1e65635.png

基础支持层

基础支持层包含整个MyBatis的基础模块,为核心处理层提供很好支撑。主要包括以下几个模块:

  • 反射模块
  • 类型转换模块
  • 日志模块
  • 资源加载模块
  • 解析器模块
  • 数据源模块
  • 事务管理
  • 缓存模块
  • Binding模块

下一篇我们讲基础支持层的这些模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值