MyBatis 源碼分析系列文章合集

1.簡介

我從七月份開始閱讀MyBatis源碼,並在隨後的40天內陸續更新了7篇文章。起初,我只是打算經過博客的形式進行分享。但在寫做的過程當中,發現要分析的代碼太多,以致於文章篇幅特別大。在這7篇文章中,有4篇文章字數超過了1萬,最長的一篇文章約有2.7萬字(含代碼)。考慮到超長文章對讀者不太友好,以及拆分文章工做量也不小等問題。遂決定將博文整理成電子書,方便你們閱讀。git

通過兩週緊張的排版,《一本小小的MyBatis源碼分析書》誕生了。本書共7章,約300頁。本書以電子書的形式發佈,你們可自由的下載。下載地址以下:github

百度網盤:點擊下載數據庫

百度文庫:審覈中,這裏先放上個人我的主頁緩存

CSDN: 點擊下載mybatis

測試代碼:GitHubapp

下面來看看本書章節的縮略圖。源碼分析

hy

2.目錄

第1章 MyBatis入門學習

         1.1 MyBatis是什麼測試

         1.2 爲何要使用MyBatis.net

                  1.2.1 使用MyBatis訪問數據庫

                  1.2.2 使用JDBC訪問數據庫

                  1.2.3 使用SpringJDBC訪問數據庫

                  1.2.4 使用Hibernate訪問數據庫

         1.3如何使用MyBatis

                  1.3.1 單獨使用MyBatis

                  1.3.2 在Spring中使用MyBatis

         1.4 本章小結

第2章 配置文件解析過程

         2.1 配置文件解析過程分析

                  2.1.1 解析節點

                  2.1.2 解析節點

                  2.1.3 設置內容到Configuration中

                  2.1.4 解析節點

                  2.1.5 解析節點

                  2.1.6 解析節點

                  2.1.7 解析節點

         2.2 本章小結

第3章 映射文件解析過程

         3.1 映射文件解析解析入口

         3.2 解析映射文件

                  3.2.1 解析節點

                  3.2.2 解析節點

                  3.2.3 解析節點

                  3.2.4 解析節點

                  3.2.5 解析SQL語句節點

         3.3 Mapper接口綁定過程分析

         3.4 處理未完成解析的節點

         3.5 本章小結

第4章 SQL執行流程

         4.1 SQL執行入口

                  4.1.1 爲Mapper接口建立代理對象

                  4.1.2 執行代理邏輯

         4.2 查詢語句的執行過程

                  4.2.1 selectOne方法分析

                  4.2.2 獲取BoundSql

                  4.2.3 建立StatementHandler

                  4.2.4 設置運行時參數到SQL中

                  4.2.5 #{}佔位符的解析與參數的設置過程梳理

                  4.2.6 處理查詢結果

         4.3 更新語句的執行過程

                  4.3.1 更新語句執行過程全貌

                  4.3.2 KeyGenerator

                  4.3.3 處理更新結果

         4.4 SQL執行過程總結

         4.5 本章小結

第5章 內置數據源

         5.1 內置數據源初始化過程

         5.2 UnpooledDataSource

                  5.2.1 初始化數據庫驅動

                  5.2.2 獲取數據庫鏈接

         5.3 PooledDataSource

                  5.3.1 輔助類介紹

                  5.3.2 獲取鏈接

                  5.3.3 回收鏈接

         5.4 本章小結

第6章 緩存機制

         6.1 緩存類介紹

                  6.1.1 PerpetualCache

                  6.1.2 LruCache

                  6.1.3 BlockingCache

         6.2 CacheKey

         6.3 一級緩存

         6.4 二級緩存

         6.5 本章小結

第7章 插件機制

         7.1 插件機制原理

                  7.1.1 植入插件邏輯

                  7.1.2 執行插件邏輯

         7.2 實現一個分頁插件

         7.3 本章小結

附錄 MyBatis源碼分析系列文章列表

3.寫在最後

本書的排版工做耗時兩週,其中40%的時間用在了內容的修改上,另外40%用在了代碼的整理與排版上,最後的20%則是花在了圖片和小修小改上。總的來講,整個過程仍是有點辛苦的。固然,在完成排版後,成就感也是滿滿的。通過此次排版,深感寫書不易。因此你們在平常學習過程當中,應儘可能買正版書予以支持。我在寫MyBatis系列文章中,買了一本書做爲參考,這本書是《MyBatis技術內幕》。這本書在我閱讀源碼的過程當中,給予了很多的幫助,這裏感謝該書的做者。同時,也向你們推薦這本書。另外,感謝清華出版社的王金柱編輯提供的書籍排版樣例,使得我在排版的過程當中能夠有所參照。

最後須要說明的是,我我的工做剛滿兩年,無論是技術能力,仍是工做經驗,均處於入門水平。同時這也是我寫的第一本電子書,經驗不足。所以對於書中寫的很差的地方,還請你們見諒,同時也但願你們多多指導。

好了,本文到此結束,感謝你們的閱讀。

本文在知識共享許可協議 4.0 下發布,轉載需在明顯位置處註明出處
做者:田小波
本文同步發佈在個人我的博客:http://www.tianxiaobo.com

cc
本做品採用知識共享署名-非商業性使用-禁止演繹 4.0 國際許可協議進行許可。

相關文章
相關標籤/搜索