MyBatis的優缺點以及特點
特點:
- mybatis是一種持久層框架,也屬於ORM對映。前身是ibatis。
- 相比於hibernatehibernate為全自動化,配置檔案書寫之後不需要書寫sql語句,但是欠缺靈活,很多時候需要優化;
- mybatis為半自動化,需要自己書寫sql語句,需要自己定義對映。增加了程式設計師的一些操作,但是帶來了設計上的靈活,並且也是支援hibernate的一些特性,如延遲載入,快取和對映等;對資料庫的相容性比hibernate差。移植性不好,但是可編寫靈活和高效能的sql語句。
簡單易學:本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar檔案+配置幾個sql對映檔案易於學習,易於使用,通過文件和原始碼,可以比較完全的掌握它的設計思路和實現。
靈活:mybatis不會對應用程式或者資料庫的現有設計強加任何影響。 sql寫在xml裡,便於統一管理和優化。通過sql基本上可以實現我們不使用資料訪問框架可以實現的所有功能,或許更多。
解除sql與程式程式碼的耦合:通過提供DAO層,將業務邏輯和資料訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和程式碼的分離,提高了可維護性。
提供對映標籤,支援物件與資料庫的ORM欄位關係對映
提供物件關係對映標籤,支援物件關係組建維護
提供XML標籤,支援編寫動態sql。
學習的路上難免迷茫,所以一套好的學習資料,就十分重要,
所以在這裡給大家分享一套資料。
這套資料包含面試題,視訊,簡歷模板,成長路徑,核心總結文件,需要這份資料的小夥伴,點選這裡即可免費領取,備註暗號 簡書
優缺點:
1.sql語句與程式碼分離,存放於xml配置檔案中:
優點:便於維護管理,不用在java程式碼中找這些語句;
缺點: JDBC方式可以用用打斷點的方式除錯,但是Mybatis不能,需要通過log4j日誌輸出日誌資訊幫助除錯,然後在配置檔案中修改。
2.用邏輯標籤控制動態SQL的拼接:
優點:用標籤代替編寫邏輯程式碼;
缺點:拼接複雜SQL語句時,沒有程式碼靈活,拼寫比較複雜。不要使用變通的手段來應對這種複雜的語句。
3.查詢的結果集與java物件自動對映:
優點:保證名稱相同,配置好對映關係即可自動對映或者,不配置對映關係,通過配置列名=欄位名也可完成自動對映。
缺點:對開發人員所寫的SQL依賴很強。
4.編寫原聲SQL:
優點:接近JDBC,比較靈活。
缺點:對SQL語句依賴程度很高;並且屬於半自動,資料庫移植比較麻煩,比如mysql資料庫程式設計Oracle資料庫,部分的sql語句需要調整。
相關文章
- Ajax原理以及優缺點
- docker簡介以及優缺點Docker
- js實現繼承的方法以及優缺點JS繼承
- js建立物件的各種方法以及優缺點JS物件
- 公鏈開發特點優缺點分析及前端實現前端
- kookeey、Luminati 和 Smartproxy 海外代理的特點和優缺點分析比較
- Docker的優缺點Docker
- HTTPS 優點與缺點HTTP
- 節點快取的優缺點快取
- 繼承的優點和缺點繼承
- 談談nginx和lvs各自的優缺點以及使用Nginx
- js/javascript 繼承方式主要有哪些?及其優缺點特點JSJavaScript繼承
- Hive 優缺點Hive
- MapReduce優缺點
- RabbitMQ優缺點MQ
- Node.js 優缺點以及應用場景Node.js
- PyLint 的優點、缺點和危險
- 內聯的優缺點
- 繼承的優缺點繼承
- MySQL索引的優缺點MySql索引
- Java裡連線字串的幾種方式以及優缺點Java字串
- iframe有哪些優點和缺點?
- ajax、axios、fetch之間的詳細區別以及優缺點iOS
- 關於 Cookie的優缺點Cookie
- HTTP和RPC的優缺點HTTPRPC
- 閉包的概念?優缺點?
- Base64 的優缺點
- kafka的優缺點都有那些Kafka
- SAP的概念及優缺點
- 6.iframe的優缺點
- 多層PCB的優點和缺點有哪些?
- Java單例模式:缺點和優點Java單例模式
- HTTP1.1 優缺點HTTP
- serverless與容器優缺點Server
- hadoop-HDFS優缺點Hadoop
- 串列埠、IIC、SPI的優缺點串列埠
- 雲伺服器的優缺點伺服器
- 物聯網路卡的優缺點