總結mybatis和hibernate的區別


 

 

1. hibernate是全自動,而mybatis是半自動(mybatis需要開發者編寫sql語句,hibernate中封裝了簡單的增刪改查可以不用編寫操作數據庫語句)

2. hibernate數據庫移植性遠大於mybatis(由於mybatis中SQL語句是我們自己編寫的,不同數據庫的操作語句又不同所以使用mybatis時 更換數據庫很麻煩,而hibernate會自動根據不同的數據庫生成不同的操作語句)

3. sql直接優化上,mybatis要比hibernate方便很多(mybatis是開發者編寫的sql語句,優化上很方便,而hibernate是生成的sql無法直接優化,比較麻煩)

 

他人總結:

mybatis:

1. 入門簡單,即學即用,提供了數據庫查詢的自動對象綁定功能,而且延續了很好的SQL使用經驗,對於沒有那么高的對象模型要求的項目來說,相當完美。

2. 可以進行更為細致的SQL優化,可以減少查詢字段。

3. 缺點就是框架還是比較簡陋,功能尚有缺失,雖然簡化了數據綁定代碼,但是整個底層數據庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速數據庫修改。

4. 二級緩存機制不佳。

hibernate:

1. 功能強大,數據庫無關性好,O/R映射能力強,如果你對Hibernate相當精通,而且對Hibernate進行了適當的封裝,那么你的項目整個持久層代碼會相當簡單,需要寫的代碼很少,開發速度很快,非常爽。

2. 有更好的二級緩存機制,可以使用第三方緩存。

3. 缺點就是學習門檻不低,要精通門檻更高,而且怎么設計O/R映射,在性能和對象模型之間如何權衡取得平衡,以及怎樣用好Hibernate方面需要你的經驗和能力都很強才行。

原文:https://blog.csdn.net/w_q_q_/article/details/79032062

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM