主要讲解MyBatis中SQL的执行流程,基于MyBatis的基础知识进行更深层次的剖析。
往期精选(欢迎转发~~)
前言
在《【MyBatis系列1】基础知识(上)》中,我们讲解了MyBaits的工作原理,以及它的四大核心组件的使用姿势,包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession和SQL Mapper。在《【MyBatis系列1】基础知识(下)》中,通过完整的MayBatis使用示例,详细讲解了MyBatis的XML配置文件。
所以在阅读该文章前,建议大家先看《【MyBatis系列1】基础知识》上-下两篇文章,这篇文章主要是基于SQL的执行流程,对MyBatis的基础知识进行更深层次的讲解,涉及到之前已经讲过的基础知识会直接跳过。
MyBatis 整体架构
MyBatis 最上面是接口层,接口层就是开发人员在 Mapper 或者是 Dao 接口中的接口定义,是查询、新增、更新还是删除操作;中间层是数据处理层,主要是配置 Mapper -> XML 层级之间的参数映射,SQL 解析,SQL 执行,结果映射的过程。上述两种流程都由基础支持层来提供功能支撑,基础支持层包括连接管理,事务管理,配置加载,缓存处理等。
接口层
在不与Spring 集成的情况下,使用 MyBatis 执行数据库的操作主要如下:
InputStream is = Resources.getResourceAsStream("myBatis-config.xml");
SqlSessionFactoryBui