您好,登錄后才能下訂單哦!
這篇文章主要介紹“MyBatis的優缺點是什么”,在日常操作中,相信很多人在MyBatis的優缺點是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MyBatis的優缺點是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
它是一個優秀的基于 Java 的持久層框架,它支持定制化 SQL、存儲過程以及高級映射等。
MyBatis 提供的持久層框架包括 SQL Maps 和 Data Access Objects(DAO), 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以對配置和原生Map使用簡單的 XML 或注解,將接口和 Java POJOs(Java對象)映射成數據庫中的記錄。
MyBatis安裝簡單, 只需將 mybatis-x.x.x.jar 文件置于 classpath 中即可。
如果使用 Maven 來構建項目,則需將下面的 dependency 代碼置于 pom.xml 文件中:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version> </dependency>
Mybatis的功能架構主要分為三層:
API接口層:提供給外部使用的接口API,開發人員通過這些本地API來操縱數據庫。接口層一接收到調用請求就會調用數據處理層來完成具體的數據處理。
數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次數據庫操作。
基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供最基礎的支撐。
優點:
1. 簡單易學:小且簡單。無第三方依賴,安裝簡單,只要兩個jar文件+配置幾個sql映射文件即可,好學,好用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實現。
2. 靈活:mybatis不會對應用程序或者數據庫的現有設計強加任何影響。 sql寫在xml里,便于統一管理和優化。通過sql基本上可以實現我們不使用數據訪問框架可以實現的所有功能。
3. 解除sql與程序代碼的耦合:通過提供DAL層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。
4. 提供映射標簽,支持對象與數據庫的orm字段關系映射。
5. 提供對象關系映射標簽,支持對象關系組建維護。
6. 提供xml標簽,支持編寫動態sql。
缺點:
1. 編寫SQL語句工作量很大,對于字段多、關聯表多時,尤其明顯。
2. SQL語句依賴于數據庫,導致數據庫移植性差,不能更換數據庫。
3. 框架還是比較簡陋,功能尚有缺失,雖然簡化了數據綁定代碼,但是整個底層數據庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速數據庫修改。
4. 二級緩存機制不佳
到此,關于“MyBatis的優缺點是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。