該系列文檔是本人在學習 Mybatis 的源碼過程當中總結下來的,可能對讀者不太友好,請結合個人源碼註釋(Mybatis源碼分析 GitHub 地址、Mybatis-Spring 源碼分析 GitHub 地址、Spring-Boot-Starter 源碼分析 GitHub 地址)進行閱讀html
MyBatis 版本:3.5.2git
MyBatis-Spring 版本:2.0.3github
MyBatis-Spring-Boot-Starter 版本:2.1.4spring
本文主要分享 MyBatis 項目的一個總體狀況,對 MyBatis 有個總體的瞭解,能夠去 MyBatis GitHub 上面 Fork 到你本身的 GitHub 上面,而後拉取到本身本地數據庫
根據包名差很少就能夠知道每一個模塊的做用緩存
MyBatis 的總體架構分爲三層:基礎支持層、核心處理層和接口層mybatis
按照 MyBatis 這個架構圖從下往上對其進行逐步分析,筆者是根據芋道源碼《精盡 MyBatis 源碼分析》一系列文檔學習 MyBatis 的,很是感謝~架構
基礎支持層,包含整個 MyBatis 的基礎模塊,這些模塊爲核心處理層的功能提供了良好的支撐app
核心處理層,實現了 MyBatis 的核心處理流程,包括 MyBatis 的初始化以及完成一次數據庫操做的涉及的所有流程框架
接口層,核心爲 SqlSession 接口,該接口定義了 MyBatis 暴露給應用程序調用的 API,也就是上層應用與 MyBatis 交互的橋樑。接口層在接收到調用請求時,會調用核心處理層的相應模塊來完成具體的數據庫操做
總的來講,MyBatis 的代碼很少,比較簡單易懂,按照上面三個模塊(基礎支持層 => 核心處理層 => 接口層)逐步進行分析,後續會提供一系列的文檔,包含 MyBatis 與 Spring 和 Spring Boot 集成的源碼解析,請熟讀 MyBatis 官方文檔
參考文章:芋道源碼《精盡 MyBatis 源碼分析》