易燃物匯聚 YouTube 有聲書與書評
MyBatis 3源碼深度解析 封面

MyBatis 3源碼深度解析

江榮波

6072人在讀
14.8萬字總字數
¥48.3定價

內容簡介

本書從MyBatis源碼的角度分析Mapper綁定過程、SqlSession操作數據庫原理、插件實現原理等,同時介紹一些MyBatis的高級用法,並挖掘MyBatis源碼中使用的設計模式。本書共13章,分爲MyBatis3源碼篇和MyBatisSpring源碼篇。第1~11章介紹MyBatis核心源碼,從源碼的角度分析MyBatis的實現原理,並介紹一些MyBatis的高級用法。MyBatis大多數情況下會與Spring整合使用,第12~13章介紹MyBatisSpring的實現原理,並分析MyBatisSpring模塊的核心代碼。本書適合掌握了MyBatis的基本用法並希望瞭解MyBatis底層實現的Java開發人員、架構師以及對Java開源項目感興趣的讀者閱讀。

讀者書評

★★★★★

首先感謝作者的分享,作者在解讀的過程中還是會盡量往設計模式上靠攏。之前讀過的源碼書大部分都沒看完,基本都是流水賬風格,閱讀過程真是痛苦,沒有自己的理解,也沒有寫清楚代碼如此設計的理由。

★★★★★

MyBatis在設計上的確有許多可以學習的地方,因爲其功能相對單一,框架本身不是很複雜,其源碼很適合作爲軟件架構與設計模式的學習素材。不過相比Spring等框架而言,MyBatis的代碼質量並不高,有很多優化的空間。本書可以作爲源碼閱讀的參考資料。

★★★★☆

很深入的介紹了MyBatis 3的源碼。適合已經熟悉使用MyBatis的開發人員。這種圖片方式看源碼還是比較難理解的。最好還是通過示例跟蹤代碼來深入學習。

★★★★★

應該是讀第二遍了,整體讀起來全書邏輯比較清晰的,需要結合mybatis源碼和對照着使用案例會更加清晰。 本書首先對mybatis做了整體介紹,之後講解了核心組件,之後章節分開來講了mybatis的幾個關鍵實現,sql session的創建,sql語句執行,緩存實現等這些,最後兩章還講解了mybatis- spring組合的原理。整本書內容還是比較完整,值得一讀

★★★★★

本書還是值得一看的:在工作中經常使用此框架,解決遇到一些問題後,如果對於起背後的原理好奇,那本書的內容值得一看 介紹非常核心的部分,讀完能有這個大體的瞭解,但光看肯定是不夠的,需要下來花更多的功夫才能掌握

★★★☆☆

2020年24本書,發覺文字真的精深標題也用得好。這術是解板而不是分析。沒有什麼思考,純的源碼解讀。給你講每個組件是做什麼的怎樣運行的。沒有作者自己的東西只有把源碼說給你聽。從源碼的配置,jdbc講起,然後是各組件的說明。可惜只是解析。

★★★★★

之前看的時候不知道重點,就每章都整理了下,一年過去了,回看這些內容,總結下學習重點(共四部分) 一、Configuration類的三種作用 1.控制MyBatis運行時的行爲 2.容器:存放TypeHandler(類型處理器)、Mapper、 SQL 3.組件的工廠類:Executor、StatementHandler、ResultSetHandler、ParameterHandler,方便實現插件攔截 二、MyBatis各組件與JDBC各組件之間的關係(書裏有圖) 三、Mapper方法調用過程 1.理解兩個map的內容 Map<Class<?>, MapperProxyFactory<?>> knownMappers:Class對象--MapperProxyFactory對象 Map<String, MappedStatement> mappedStatements:Mapper--MappedStatement對象 2.畫下流程Mapper中方法調用的流程圖,理解整個調用過程(自己畫): 先獲得Mapper的代理類,然後執行代理類的invoke()方法 invoke()方法中,調用了SqlSession的方法 四、攔截器的調用邏輯(也自己畫張圖)

★★★★☆

Mybatis源碼不像spring那麼大的體系,無非就是SqlSessionFactory,SqlSession,Mapper加載過程,配置加載到Configuration裏面並將mapper接口緩存用MapperProxyFactory佔位,以便在DefaultSqlSession創建MapperProxy時做準備。 Mybatis的插件就是層層代理,類似責任鏈,對Executer,StatementHandler,ParameterHandler,ResultSetHandler四大對象做功能的增強。。。 集成spring也是利用spring的FactoryBean,InitializingBean,ApplicationListener,BeanPostProceser等擴展點,把事務交給spring管理,主要對象交給spring管理,巧妙的用擴展點替換mapper的代理,因爲DefaultSqlSession線程不安全,生成mapper代理類時候用MapperFactoryBean生成新的SqlSession對象。。。。

★★★★★

在這本書的幫助下,基本讀懂了mybatis源碼和實現原理,還學習了動態代理,裝飾者,工廠等等設計模式,第一次有真正掌握一個框架的感覺。 以後會繼續研讀每個部分的源碼細節,有能力再自己嘗試實現一下。 也體會到了學框架原理,最好找一本書,邊debug測試代碼,邊看書,大大的降低學習難度

★★★★★

寫得很好,通俗易懂,還會帶有例子和源碼,一步一步帶你深入底層原理,還見識到不少的設計模式,例如裝飾器模式,工廠模式,建造者模式和動態代理等等。而且MyBatis的源碼的分層是真的做得很好,一層對應一個功能點,點贊!

書籍信息

作者江榮波
出版社清華大學出版社
出版時間2019-10-01
ISBN9787302535614
分類計算機-編程設計
格式EPUB
完結狀態連載中
章節數97