一、MyBatis流行的原因
1、容易上手,學習門檻低
mybatis它是一個優異的開源持久層框架,mybatis之所以很流行,是因為mybatis很容易上手,開發速度很快,學習門檻很低,想要真正掌握myabatis也很容易,程序員就可以直接編寫原生的sql語句,我們可以自己控制sql語句的執行性能。mybatis使用場景是對關系數據模型要求不高的軟件使用,比如電商網站軟件需要要求變化頻繁,如果需求變化就立馬要求輸出結果,這是使用mybatis就有好處了。
2、sql優化性能好
mybatis在sql優化性能方面比Hibernate高得多,Hibernate得查詢回將表中的所有字段都給你查出來,這樣就會影響性能的消耗,然后mybatis的sql語句程序員可以自己動手編寫,可以按需求指定的字段進行查詢,當然Hibernate也可以自己編寫sql語句來指定查詢所需要的字段,這樣很顯然的不合理,相當破壞了Hibernate開發的簡潔性,所有mybatis越來越被大廠流行使用的原因。
3、查詢緩存特性強大
mybatis在緩存機制方面有一個很強的查詢緩存特性非常的強大,程序員可以非常方便的配置和定制,但是在使用過程中需要注意的是,假如你不能完全確定數據更新操作的范圍,就應該避免使用Cache,不然的話可能出現系統的運行帶來了一個很大的隱患,當然使用過程中注意就可以。
二、Mybatis的功能架構
1、API接口層
提供給外部使用的接口API,開發人員通過這些本地API來操縱數據庫。接口層一接收到調用請求就會調用數據處理層來完成具體的數據處理。接口是MyBatis提供給開發人員的一套API,通過SqlSession接口和Mapper接口,開發人員可以通知MyBatis框架調用哪一條SQL命令以及SQL命令關聯參數。
2、數據處理層
負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次數據庫操作。
MyBatis框架內部的核心實現,來完成對映射文件的解析與數據處理對Mapper.xml中的參數進行參數解析與參數綁定——(ORM)對Mapper.xml中的SQL語句解析執行SQL,調用底層JDBC進行數據庫從操作(即支撐層)結果集映射解析與結果集映射處理3、基礎支撐層
負責最基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供最基礎的支撐。用來完成MyBatis與數據庫基本連接方式以及SQL命令與配置文件對應,主要負責:
對 MyBatis 與 數據庫連接方式 的管理MyBatis 對事務管理方式的統一處理配置文件加載(例如延遲加載)MyBatis查詢緩存的管理延伸閱讀1:MyBatis概念
Mybatis是一個半ORM(對象關系映射)框架,底層封裝了JDBC,是程序員在開發時只需要關注SQL語句本身,不需要花費精力去處理加載驅動、創建連接、創建statement等繁雜的過程,使得程序員可以花更多的精力放到業務開發中。