mybatis源码深度解析_30天消化MyBatis源码解析笔记,吊打面试官,offer接到手软
MyBatis 是一個優秀的 Java 持久化框架,SSM 框架組合(Spring + SpringMVC + Mybatis),依賴 MyBatis 搭建的項目更是數不勝數,在互聯網公司的使用中,占據了大片江山,你在使用 MyBatis 嗎?會使用你真的了解 MyBatis 嗎?
剛好,趁著現在還有時間,這里將技術面試Mybatis中最常見的面試問題和解答思路整理一下,由于篇幅原因這里只展示了目錄和內容截圖展示,下面是這份MyBatis的內容展示一起來看一下吧。
一、MyBatis筑基
MyBatis 是一個容易上手的持久層框架,使用者通過簡單的學習即可掌握其常用特性的用法,這也是 MyBatis 被廣泛使用的原因之一。在深入分析 MyBatis 源碼前,我想先向大家介紹一下 MyBatis 的一些基礎知識這一部分針對基礎差點的,選擇性跳過。
目錄
內容展示
二、配置件解析過程
比較了JDBC、SpringJDBC、Hibernate和 MyBatis等 4 種持久層技術的優缺點,以及各自的使用場景。最后演示了單獨使用 MyBatis,和在Spring 中使用 MyBatis 等兩種不同的方式。
目錄
內容展示
三、映射件解析過程
分析映射文件解析的過程。與配置文件不同,映射文件用于配置 SQL 語句,字段映射關系等。映射文件中包含"、、、 < sql> 等二級節點,這些節點將在接下來內容中進行分析
目錄
內容展示
四、SQL 執流程
對 MyBatis 執行 SQL 的過程進 行較為詳盡的分析。該過程比較復雜,涉及的技術點很多。包括但不限于以下技術點:
1. 為 mapper 接口生成實現類
2. 根據配置信息生成 SQL,并將運行時參數設置到 SQL 中
3. 一二級緩存的實現
4. 插件機制
5. 數據庫連接的獲取與管理
6. 查詢結果的處理,以及延遲加載等
如果大家能掌握上面的技術點,那么對 MyBatis 的原理將會有很深入的理解。
目錄
內容展示
五、內置數據源
MyBatis 支持三種數據源配 置,分別為 UNPOOLED、POOLED 和 JNDI。并提供了兩種數據源實現,分別是 UnpooledDataSource 和 PooledDataSource 。 在這三種數據源配置中, UNPOOLED 和 POOLED 是我們最常用的兩種配置,這兩種數據源也是本章要重點分析的對象。至于 JNDI, MyBatis 提供這種數據源的目的是為了讓其能夠運行在 EJB 或應用服務器等容器中
目錄
內容展示
六、緩存機制
在 Web 應用中,緩存是必不可少的組件。通常我們都會用 Redis 或 memcached 等緩 存中間件,攔截大量奔向數據庫的請求,以減輕數據庫壓力。作為一個重要的組件,MyBatis 自然也在內部提供了相應的支持。通過在框架層面增加緩存功能,可減輕數據庫的壓力,同 時又可以提升查詢速度,可謂一舉兩得。MyBatis 緩存結構由一級緩存和二級緩存構成,這 兩級緩存均是使用 Cache 接口的實現類。因此本章將首先會向大家介紹 Cache 幾種實現類 的源碼,然后再分析一級和二級緩存的實現。
目錄
七、插件機制
一般情況下,開源框架都會提供插件或其他形式的拓展點,供開發者自行拓展。這樣的 好處是顯而易見的,一是增加了框架的靈活性。二是開發者可以結合實際需求,對框架進行 拓展,使其能夠更好的工作。以 MyBatis 為例,我們可基于 MyBatis 插件機制實現分頁、 分表,監控等功能。由于插件和業務無關,業務也無法感知插件的存在。因此可以無感植入 插件,在無形中增強功能。 開發 MyBatis 插件需要對 MyBatis 比較深了解才行,一般來說最好能夠掌握 MyBatis 的源碼,門檻相對較高。本篇文章在分析完 MyBatis 插件機制后,會手寫一個簡單的分頁 插件,以幫助大家更好的掌握 MyBatis 插件的編寫。
目錄
內容展示
市面上真正適合學習的MyBatis資料太少,有的書或資料雖然講得比較深入,但是語言晦澀難懂,大多數人看完這些書基本都是從入門到放棄,有需要獲取學習資料的朋友關注作者并轉發,私信作者【學習】二字,便可以領取學習資料喔
總結
以上是生活随笔為你收集整理的mybatis源码深度解析_30天消化MyBatis源码解析笔记,吊打面试官,offer接到手软的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 努比亚手机浏览器 安全证书失效_浏览器提
- 下一篇: lamp中php怎么连接mysql_LA