MyBatis 是支援客製化化 SQL、儲存過程以及高階對映的優秀的持久層框架。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以對設定和原生Map使用簡單的 XML 或註解,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄...
而今天咱要聊的就是Alibaba珍藏版mybatis手寫檔案,刷到的朋友真香警告呀!
宣告:篇幅有限,Alibaba珍藏版mybatis手寫檔案還有一些面試解析+腦圖等等,說的都不是很仔細,但可分享原始檔給刷到此文的朋友,珍藏刷起來!
1.什麼是MyBatis
2.為什麼我們要用Mybatis?
3.Mybatis快速入門
3.1 匯入開發包
3.2準備測試工作
3.3 建立mybatis組態檔
3.4 編寫工具類測試是否獲取到連線
3.5 建立實體與對映關係檔案
3.6 編寫DAO
4.Mybatis工作流程
5.完成CRUD操作
5.1 增加學生
5.2 根據ID查詢資料
5.3 查詢所有資料
5.4 根據id刪除
5.5 修改
5.6 小細節
5.7 Mybatis分頁
6.動態SQL
6.1 動態查詢
6.2 動態更新
6.3 動態刪除
6.4 動態插入
7.入門總結
1.對映檔案
1.1 預留位置
1.2 主鍵生成策略
1.2.1 UUID
1.3 主鍵返回
1.4 resultMap
1.5 resultMap和resultType區別
1.6 使用resultMap
1.7 resultType和resultMap用法總結
1.8 Mybatis對映檔案處理特殊字元
2.組態檔
2.1 別名
2.2 Mapper載入
2.3 延遲載入
2.4 延遲載入測試
3.設定相關總結
1.Mybatis【多表連線】
1.1—對一
1.1.1 設計表
1.1.2 實體
1.1.3 對映檔案
1.1.4 DAO層
1.2—對多
1.2.1 設計資料庫表
1.2.2 實體
1.2.3 對映檔案SQL語句
1.2.4 DAO
1.3多對多
1.3.1 資料庫表
1.3.2 實體
1.3.3 對映檔案
1.3.4 DAO
2.關聯對映總結
image
1.前言
2.Mybatis快取
2.1 Mybatis—級快取
2.2 Mybatis二級快取
2.3 Mybatis二級快取設定
2.4 查詢結果對映的pojo序列化
2.5 禁用二級快取
2.6 重新整理快取
2.7 瞭解軍Mybatis快取的—些參
3.mybatis和ehcache快取框架整合
3.1 整合jar包
3.2 ehcache.xml設定資訊
3.3 應用場景與侷限性
3.3.1 應用場景
3.3.2 侷限性
4.Mapper代理方式
4.1 Mapper開發規範
4.2 Mapper代理返回值問題
5.Mybatis解決JDBC程式設計的問題
6.Mybatis逆向工程
6.1修改pom.xml檔案
6.2 generatorConfig.xml組態檔
6.3 使用外掛步驟
6.4 最後生成程式碼
1.Mybatis與Spring整合
1.1 匯入jar包
1.2 建立表
1.3 建立實體
1.4 建立實體與表的對映檔案
1.5 建立Mybatis對映檔案設定環境
1.6 設定Spring核心過濾器【也是載入總組態檔】
1.7 設定資料庫資訊、事務
1.8 建立Dao、Service、Action
1.9 JSP頁面測試
2.總結
《深入淺出MBati技術原理與實戰》總共是分為三大部分:
第一部分是MyBatis基礎應用,主要介紹如何高效地使用MyBatis。
第1節:MyBatis 的內容簡介,告訴讀者MyBatis是什麼,在何種場景下使用它。
第2節:主要介紹MyBatis的基礎模組及其生命週期,並給出範例。
第3節:主要介紹MyBatis 設定的主要含義和內容。
第4節:介紹 MyBatis 對映器的主要元素及其使用方法。
第5節:介紹動態SQL,助你輕鬆應對大部分的SQL場景。
image
第二部分是MyBatis 原理,我們將深入原始碼去理解MyBatis的內部執行原理以及外掛的開發方法和技巧。
第6節:介紹 MyBatis 的解析和執行原理,我們將瞭解到SqlSession 的構建方法,以及其四大物件是如何工作的。
第7節:在第6節的基礎上著重介紹 MyBatis 的外掛,這裡我們將學習外掛的設計原理,以及開發方法和注意的要點。
第三部分是MyBatis的實戰應用,主要講解 MyBatis的一些實用的場景。
第8節:介紹MyBatis-Spring,主要講解如何在Spring 專案中整合 MyBatis應用,幫助讀者在 Spring的環境中順利使用MyBatis。
第9節:介紹 MyBatis的實用場景,精選一批典型且又常用的場景。詳細解析每一個場景下,開發人員需要注意避免的一些錯誤和效能上的損失。
1.為什麼需要預編譯?
2.Mybatis都有哪些Executor執行器?它們之間的區別是什麼?
3.Mybatis中如何指定使用哪一種Executor執行器?
4.Mybatis是否支援延遲載入?如果支援,它的實現原理是什麼?
5.# {}和${}的區別?
6.模糊查詢like語句該怎麼寫?
7.在mapper中如何傳遞多個引數?
8.Mybatis如何執行批次操作?
9.如何獲得生成的主鍵?
10.當實體類中的屬性名和表中的欄位名不一樣 ,怎麼辦
11.Mapper 編寫有哪幾種方式?
12.什麼是MyBatis的介面繫結?有哪些實現方式?
13.使用MyBatis的mapper介面呼叫時有哪些要求?
14.最佳實踐中,通常一個Xml對映檔案,都會寫一個Dao介面與之對應,請問,這個Dao介面的工作原理是什麼?Dao介面裡的方法,引數不同時,方法能過載嗎?
15.Mybatis的Xml對映檔案中,不同的Xml對映檔案,id是否可以重複?
16.簡述Mybatis的Xml對映檔案和Mybatis內部資料結構之間的對映關係?
17.Mybatis是如何將sql執行結果封裝為目標物件並返回的?都有哪些對映形式?
18.MyBatis中所有標籤?
19.MyBatis實現一對一,一對多有幾種方式,怎麼操作的?
20.Mybatis是否可以對映Enum列舉類?
21.Mybatis動態sql是做什麼的?都有哪些動態sql?能簡述一下動態sql的執行原理不?
22.分頁方式?
23.簡述Mybatis的外掛執行原理,以及如何編寫一個外掛?
24.Mybatis的一級、二級快取?
25.pageHelper原理?
關於解析,我已經全部整理,並手繪了一份xmind導圖,如下(一覽無餘):
學完之後,若是想驗收效果如何,其實最好的方法就是可自己去總結一下。比如我就會在學習完一個東西之後自己去手繪一份xmind檔案的知識梳理大綱腦圖,這樣也可方便後續的複習,且都是自己的理解,相信隨便瞟幾眼就能迅速過完整個知識,腦補回來。下方即為我手繪的MyBtis知識腦圖,由於是xmind檔案,不好上傳,所以小編將其以圖片形式匯出來傳在此處,細節方面不是特別清晰。但可給感興趣的朋友提供完整的MyBtis知識腦圖原件(包括上方的面試解析xmind檔案)
除此之外,前文所提及的Alibaba珍藏版mybatis手寫檔案以及一本小小的MyBatis原始碼分析檔案——《MyBatis原始碼分析》等等相關的學習筆記檔案,也皆可分享給認可的朋友!
——感謝大傢伙的認可支援!