hibernate和mybatis的區別?


<<< 相同點 >>>

  1、Hibernate與MyBatis 都可以通過SessionFactoryBuilder 由 XML 配置文件生成SessionFactory, 然后再由SessionFactory 生成Session ,最后又 Session 來開啟執行事務和SQL語句。 Session, SessionFactory ,SessionFactory的生命周期都是差不多的。

  2、二者都支持JDBC和JTA事務處理。

<<< 不同點 >>>

  1、MyBatis 可以進行更加細致的優化,可以選擇性的查詢需要的字段。同時對多張表操作時,MyBatis更加具有優勢。

  2、MyBatis容易掌握,Hibernate 比較難以掌握,比如Hibernate雖然可以不寫sql語句完成增刪改查的操作,卻需要按照既定的命名格式命名,學習成本高。

  3、Hibernate 對增刪改查對象維護更加容易,效率也更高。

  4、Hibernate的數據庫移植性更加好,可以通過修改方言完成數據庫的更改,Hibernate將根據方言自動生成符合的SQL語句。MyBatis的數據庫移植性不好,更改完數據庫后需要去一個一個的更改每條SQL語句,耗時耗力。

  5、Hibernate有更好的二級緩存機制, 可以使用第三方緩存。MyBatis自身提供的緩存機制不夠方便。

 


免責聲明!

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



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