看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

學習了hibernate這個持久層框架之後,再來學習Mybatis簡直是無壓力,因爲Mybatis入門門檻很低,如果學習過了hibernate的話,對於Mybatis的學習很簡單了,如果沒學習過hibernate直接學習Mybatis也沒關係,也很好理解。

一、Mybatis的簡介

  mybatis封裝了jdbc的持久層框架,前身爲ibatis,在配置文件中編寫sql,是不完全orm映射框架。

  查看百度百科的介紹:

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

1、支持普通sql查詢

2、高級映射

3、存儲過程

4、消除了幾乎所有jdbc代碼和參數的手工設置以及結果集的檢索,等等特點,都會講解到,今天先認識一下爲什麼說mybatis消除了所有jdbc代碼和參數的設置,通過普通的jdbc有哪些不足,從而認識到mybatis的好處。

二、Mybatis技術內幕

理解MyBatis的設計原理、閱讀MyBatis源碼、擴展MyBatis功能提供幫助和指導,更加深入地瞭解MyBatis的運行原理、設計理念。能夠幫助讀者全面提升自身的技術能力,讓讀者在設計業務系統時,可以參考MyBatis的優秀設計,更好地應用MyBatis。

第1章 MyBatis的快速入門

其中介紹了MyBatis 出現的背景、與其他Java持久化框架的比較以及MyBatis的入門示例。之後介紹了MyBatis 的整體架構,並簡述了MyBatis中各個模塊的基本功能。

1.1ORM簡介

1.2常見持久化框架

1.3Mybatis實例

1.4Mybatis整體架構

1.5本章小結

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

第2章 基礎支撐層

介紹MyBatis基礎支持層中各個模塊的功能,其中包括數據源模塊、事務管理模塊、緩存模塊、binding 模塊、反射模塊、類型轉換模塊、日誌模塊、資源加載模塊和解析器模塊。這些模塊相對獨立,讀者在實踐中如果遇到類似的需求,可以直接參考MyBatis的實現。

2.1基礎支持層

2.2反射工具箱

2.3類型轉換

2.4日誌模塊

2.5資源加載

2.6DataSource

2.7Transaction

2.8binding模塊

2.9緩存模塊

2.10本章小結

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

第3章 核心處理層

介紹MyBatis核心處理層的主要功能,其中包括MyBatis初始化過程、動態SQL的解析過程、結果集的映射原理、SQL 語句的參數綁定、KeyGenerator、 StatementHandler 以及Executor等組件的實現原理。同時,還介紹了MyBatis接口層的設計原理。

3.1Mybatis初始化

3.2SqINode&SqlSource

3.3ResultSetHandler

3.4KeyGenerator

3.5StatementHandler

3.6Executor

3.7接口層

3.8本章小結

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

第4章 高級主題

介紹MyBatis插件的編寫和配置方式、運行原理以及常見的應用場景,並分析了筆者在實踐中使用的分頁插件和分表插件的具體實現。之後,介紹了MyBatis與Spring集成開發的相關內容,搭建了Spring 4.3、 MyBatis 3.4、 Spring MVC的集成開發環境,剖析了MyBatis—Spring中核心組件的實現原理。最後介紹了一些在使用MyBatis時用到的小技巧和一些小工具的使用方法。

4.1插件模塊

4.2Mybatis與Spring集成

4.3拾遺

4.4本章小結

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

 

看完這篇你還覺得MyBatis很基礎嗎?深度剖析MyBatis架構設計

希望這些可以對大家有幫助,喜歡的朋友可以關注小編的公衆號:小遷不禿頭 後期會不定時更新文章的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章