為什么阿里巴巴的持久層拋棄hibernate,采用MyBatis框架?
原因大概有以下4點:
尤其是需要處理大量數據或者大并發情況的網站服務,這也阿里選擇MyBatis的原因。
MyBatis整體架構
不多講,先看目錄圖
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 哈哈~好啦,不閑扯了,文章開頭說要免費給大家分享我的復習資料,下面就給大家展示一下——點擊這里免費獲取我的復習刷題寶典
1、JAVA面試核心知識整理(PDF):包含JVM,JAVA集合,JAVA多線程并發,JAVA基礎,Spring原理,微服務,Netty與RPC,網絡,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,設計模式,負載均衡,數據庫,一致性哈希,JAVA算法,數據結構,加密算法,分布式緩存,Hadoop,Spark,Storm,YARN,機器學習,云計算共30個章節。
2、Redis學習筆記及學習思維腦圖
3、數據面試必備20題+數據庫性能優化的21個最佳實踐
681)]
3、數據面試必備20題+數據庫性能優化的21個最佳實踐
[外鏈圖片轉存中…(img-y9lbjl20-1625658117682)]