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語句需要調整。
相關文章
- mysql和Oracle的特點,優缺點MySqlOracle
- Ajax原理以及優缺點
- docker簡介以及優缺點Docker
- js建立物件的各種方法以及優缺點JS物件
- js實現繼承的方法以及優缺點JS繼承
- Docker的優缺點Docker
- js/javascript 繼承方式主要有哪些?及其優缺點特點JSJavaScript繼承
- 節點快取的優缺點快取
- 繼承的優點和缺點繼承
- RabbitMQ優缺點MQ
- HTTPS 優點與缺點HTTP
- kookeey、Luminati 和 Smartproxy 海外代理的特點和優缺點分析比較
- MySQL索引的優缺點MySql索引
- 繼承的優缺點繼承
- Node.js 優缺點以及應用場景Node.js
- Java裡連線字串的幾種方式以及優缺點Java字串
- JavaScript 深入之建立物件的多種方式以及優缺點JavaScript物件
- JavaScript深入之建立物件的多種方式以及優缺點JavaScript物件
- iframe有哪些優點和缺點?
- WebApp 開發框架推薦以及優缺點分析WebAPP框架
- kafka的優缺點都有那些Kafka
- 關於 Cookie的優缺點Cookie
- Serverless架構的優缺點Server架構
- 使用css框架的優缺點CSS框架
- 淺談Ajax的優缺點
- 談談nginx和lvs各自的優缺點以及使用Nginx
- Java單例模式:缺點和優點Java單例模式
- 資料庫索引的作用和優點缺點資料庫索引
- HTTP1.1 優缺點HTTP
- serverless與容器優缺點Server
- TokuDB優缺點總結
- JavaScript 模組化優缺點JavaScript
- 使用protocolbuffers優缺點分析Protocol
- 線性表順序儲存優缺點,線性連結串列的優缺點
- 代理伺服器的優缺點伺服器
- 02 SVN 與 Git 的優缺點Git
- HTTP和RPC的優缺點HTTPRPC
- 單頁應用的優缺點