前言
很多人說 mybatis重不重要?這里再說下,互聯網公司基本都是用mybatis做為持久層框架的,所以mybatis是一定要學的,
程式員80%時間都在CRUD,對了mybatis就是干這個的
什么是 MyBatis ?
MyBatis是一個實作了JPA規范的用來連接資料庫并對其進行增刪改查操作的開源框架 (就和傳統的JDBC一樣,就是個連接資料庫的東西),其實,它底層就是一個JDBC封裝的組件,MyBatis的前身是Ibatis,Ibatis創建與2002年最初為Apache下面的一個開源專案,2010遷移到google code下面并改名為MyBatis,
MyBatis雖然實作了JPA但是它并不是一個完完全全的ORM組件,而是一個基于SQL開發的半ORM組件,
而Hibernate是一個完完全全的ORM組件,它是完全基于物件來操作資料庫中的記錄,并不和MyBatis一樣是一個假把式,
為什么我們要學Mybatis?
無論是Mybatis、Hibernate都是ORM的?種實作框架,都是對JDBC的?種封裝!
到目前為止,我們已經在持久層中學了這種技術了…
- Hibernate
- jdbc
- SpringDAO
那我們為啥還要學Mybatis呢???現在Mybatis在業內獨行其道,那為啥他能那么火呢??
Hibernate是一個比較老舊的框架,用過他的同學都知道,只要你會用,操作起來十分舒服…啥sql代碼都會寫…但是呢,它也是有的缺點:處理復雜業務時,靈活度差, 復雜的HQL難寫難理解,例如多表查詢的HQL陳述句,JDBC很容易理解,就那么一個固定的步驟,就是開發起來太麻煩了,因為什么都要我們自己…
我們可以認為,Mybatis就是jdbc和Hibernate之間的一個平衡點…畢竟現在業界都是這個框架,我們也不能不學呀!
今天分享京東珍藏版的Mybatis檔案,可以幫助你快速入門Mybatis!

需要的朋友可以點擊:這個!點這個,暗號:csdn,
關于Mybatis的知識點總結了一個思維導圖,分享給大家,

互聯網公司常問的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原理?
常見的這些Mybatis面試題答案都整理成了PDF檔案,

總結
學習是一輩子的事情,學完一段時間之后,想要檢查學習效果如何,其實最好的方法就是可自己去總結一下,比如我在學習的時候會自己做筆記,然后自己再總結,自己的做的筆記也可方便后續的復習,且都是自己的理解,
還有免費的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 原始碼分析,高并發、高性能、分布式,性能優化,微服務 高級架構開發等等,
需要的朋友可以點擊:這個!點這個,暗號:csdn,
還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring原始碼合集+Java架構實戰電子書,


轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/229442.html
標籤:其他
