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