mybatis hibernate比較

開發速度:sql

若是一個項目中用到的複雜的查詢基本沒有,就是簡單的增刪該查,這樣選擇hibernate效率就很快了,由於基本的sql語句已經被封裝好了,根本不用去寫sql語句,可是對於一個大型項目,複雜語句比較多,這樣就選擇mybatis,這樣語句管理方便。
sql優化方面:
hibernate的查詢會將表中的全部字段查詢出來,這有點耗性能。mybatis的Sql是手動編寫的,因此能夠按需求指定查詢字段。
開發工做量方面:hibernate和mybatis都有相應的代碼生成工具,能夠生成簡單的基本dao層方法。mybatis須要手動編寫sql語句,以及ResultMap.hibernate有良好的映射機制,開發者無需關心SQL的生成與結果映射,能夠更專一於業務流程。可是,如今mybatis有一些插件功能,也基本能使自動生成相應的mapper映射,也能生成ResultMap.這也是爲何愈來愈多的人喜歡使用mybatis的緣由了
緩存方面:
Hibernate有更好的二級緩存機制,能夠使用第三方緩存。MyBatis自己提供的緩存機制不佳
相同之處:都是能夠經過SessionFactoryBuider由XML配置文件生成SessionFactory,而後由sessionFactory生成session,最後由Session來開啓執行事務和SQL語句。都支持jdbc事務處理
總之:大項目用mybatis 小項目用hibernate
相關文章
相關標籤/搜索