Hibernate 和 Mybatis 的區別?

2021-09-14 02:21:54 字數 635 閱讀 2059

兩者相同點:

1)hibernate 與 mybatis 都可以是通過 sessionfactorybuider 由 xml 配置檔案生成 sessionfactory,然後由sessionfactory 生成 session,最後由 session 來開啟執行事務和 sql 語句。其中 sessionfactorybuider,sessionfactory,session 的生命週期都是差不多的。

2)hibernate 和 mybatis 都支援 jdbc 和 jta 事務處理。

mybatis 優勢:

1)mybatis 可以進行更為細緻的 sql 優化,可以減少查詢字段。

2)mybatis 容易掌握,而 hibernate 門檻較高。

hibernate 優勢:

1)hibernate 的 dao 層開發比 mybatis 簡單,mybatis 需要維護 sql 和結果對映。

2)hibernate 對物件的維護和快取要比 mybatis 好,對增刪改查的物件的維護要方便。

3)hibernate 資料庫移植性很好,mybatis 的資料庫移植性不好,不同的資料庫需要寫不同 sql。

4)hibernate 有更好的二級快取機制,可以使用第三方快取。mybatis 本身提供的快取機制不佳。

spring整合使用持久層框架mybatis(二)

id sqlsessionfactory class org.mybatis.spring.sqlsessionfactorybean name datasource ref datasource name configlocation value classpath mybatis config....

Hibernate分頁和投影

分頁 dao 分頁查詢 param index param pagesize return public listfindbypage integer index,integer pagesize service public listfindbypage integer index,integer...

spring MVC和hibernate的結合

我們在沒有用註解寫spring配置檔案的時候 會在spring配置檔案中定義dao層的bean,這樣我們在service層中,寫setdao方法,就可以直接通過介面呼叫dao層。用了註解寫法後 在配置檔案中不用再寫dao層的bean。只需要在dao實現類中加入 repository public c...