摘要:簡介我從七月份開始閱讀源碼,并在隨后的天內陸續更新了篇文章。考慮到超長文章對讀者不太友好,以及拆分文章工作量也不小等問題。經過兩周緊張的排版,一本小小的源碼分析書誕生了。我在寫系列文章中,買了一本書作為參考,這本書是技術內幕。
1.簡介
我從七月份開始閱讀MyBatis源碼,并在隨后的40天內陸續更新了7篇文章。起初,我只是打算通過博客的形式進行分享。但在寫作的過程中,發現要分析的代碼太多,以至于文章篇幅特別大。在這7篇文章中,有4篇文章字數超過了1萬,最長的一篇文章約有2.7萬字(含代碼)。考慮到超長文章對讀者不太友好,以及拆分文章工作量也不小等問題。遂決定將博文整理成電子書,方便大家閱讀。
經過兩周緊張的排版,《一本小小的MyBatis源碼分析書》誕生了。本書共7章,約300頁。本書以電子書的形式發布,大家可自由的下載。下載地址如下:
百度網盤:點擊下載
百度文庫:審核中,這里先放上我的個人主頁
CSDN: 點擊下載
測試代碼:GitHub
下面來看看本書的縮略圖。
2.目錄第1章 MyBatis入門
???????? 1.1 MyBatis是什么
???????? 1.2 為什么要使用MyBatis
???????? ???????? 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
本作品采用知識共享署名-非商業性使用-禁止演繹 4.0 國際許可協議進行許可。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77061.html
摘要:前提好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時間比較早,而且堅持的時間也比較久,一直到現在也是一直保持著更新狀態。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時...
摘要:慢慢地,關于的原創學習文章已經寫了多篇了會一直放出來,目前篇,因此做一個合集,獻給那些對新版本腳手架使用和背后設計感興趣的同學,都是一步一步去看源碼,也給官方提了幾次,合進去了幾個原創不易,歡迎大家互相轉發,期望大家一起快速過度到版本目錄 慢慢地,關于 Vue CLI 3 的原創學習文章已經寫了 20 多篇了(會一直放出來,目前 23 篇), 因此做一個合集,獻給那些對新版本腳手架使用...
摘要:本文速覽本篇文章是我為接下來的源碼分析系列文章寫的一個導讀文章。年該項目從基金會遷出,并改名為。同期,停止維護。符號所在的行則是表示的執行結果。同時,使用無需處理受檢異常,比如。另外,把寫在配置文件中,進行集中管理,利于維護。 1.本文速覽 本篇文章是我為接下來的 MyBatis 源碼分析系列文章寫的一個導讀文章。本篇文章從 MyBatis 是什么(what),為什么要使用(why),...
摘要:從使用到原理學習線程池關于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現在軟件開發中,分散于應用中多出的功能被稱為橫切關注點如事務安全緩存等。 Java 程序媛手把手教你設計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經風雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當初愛情萌芽的模樣…… Java 進階面試問題列表 -...
閱讀 1013·2021-11-25 09:43
閱讀 1675·2019-08-30 13:59
閱讀 1599·2019-08-30 11:22
閱讀 2130·2019-08-30 11:06
閱讀 1305·2019-08-28 17:51
閱讀 3732·2019-08-26 12:12
閱讀 785·2019-08-26 12:11
閱讀 453·2019-08-26 12:10