為什麼阿裡巴巴的持久層抛棄hibernate,采用MyBatis架構?
原因大概有以下4點:

尤其是需要處理大量資料或者大并發情況的網站服務,這也阿裡選擇MyBatis的原因。
第1部分 MyBatis 入門
MyBatis 是一個容易上手的持久層架構,使用者通過簡單的學習即可掌握其常用特性的用法,這也是MyBatis 被廣泛使用的原因之一。在深入分析MyBatis 源碼前,先介紹一下MyBatis 的一些基礎知識。
第2部分 配置檔案解析過程
按照 MyBatis 啟動流程,這部分将會對 MyBatis 解析配置檔案的過程進行分析。我們在使用 MyBatis 架構時,通常會進行一定的設定,使其能更好的滿足我們的需求。對于一個架構來說,提供較為豐富的配置檔案,也是其靈活性的展現。将會介紹 MyBatis 配置檔案中的大部分節點解析過程,包含但不限于 properties、settings、typeAliase、typeHandlers 等
第3部分 映射檔案解析過程
這部分是分析映射檔案解析的過程。與配置檔案不同,映射檔案用于配置 SQL語句,字段映射關系等。映射檔案中包含、、、<select|insert|update|delete>等二級節點,這些節點将在接下來内容中進行分析。
第4篇 SQL執行流程
将對 MyBatis 執行 SQL 的過程進行較為詳盡的分析。該過程比較複雜,涉及的技術點很多。
第5部分 内置資料源
MyBatis 支援三種資料源配置, 分别為 UNPOOLED 、POOLED 和 JNDI 。并提供了兩種資料源實作,分别是UnpooledDataSource 和 PooledDataSource 。在這三種資料源配置中, UNPOOLED 和POOLED 是我們最常用的兩種配置,這兩種資料源也是本章要重點分析的對象。
第6篇 緩存機制
在 Web 應用中,緩存是必不可少的元件。通常都會用 Redis 或 memcached 等緩存中間件,攔截大量奔向資料庫的請求,以減輕資料庫壓力。作為一個重要的元件,MyBatis 自然也在内部提供了相應的支援。通過在架構層面增加緩存功能,可減輕資料庫的壓力,同時又可以提升查詢速度,可謂一舉兩得。MyBatis 緩存結構由一級緩存和二級緩存構成,這兩級緩存均是使用 Cache 接口的實作類。是以本章将首先會向大家介紹 Cache 幾種實作類的源碼,然後再分析一級和二級緩存的實作。
第7篇 插件機制
開發 MyBatis 插件需要對 MyBatis 比較深了解才行,一般來說最好能夠掌握 MyBatis 的源碼,門檻相對較高。
總結
我個人認為,如果你想靠着背面試題來獲得心儀的offer,用癞蛤蟆想吃天鵝肉形容完全不過分。想必大家能感受到面試越來越難,想找到心儀的工作也是越來越難,高薪工作羨慕不來,卻又對自己目前的薪資不太滿意,工作幾年甚至連一個應屆生的薪資都比不上,終究是錯付了,錯付了自己沒有去提升技術。
這些面試題分享給大家的目的,其實是希望大家通過大廠面試題分析自己的技術棧,給自己梳理一個更加明确的學習方向,當你準備好去面試大廠,你心裡有底,大概知道面試官會問多廣,多深,避免面試的時候一問三不知。
大家可以把Java基礎,JVM,并發程式設計,MySQL,Redis,Spring,Spring cloud等等做一個知識總結以及延伸,再去進行操作,不然光記是學不會的,這裡我也提供一些腦圖分享給大家:
希望你看完這篇文章後,不要猶豫,抓緊學習,複習知識,準備在明年的金三銀四拿到心儀的offer,加油,打勞工!
<b> </b>