mybatis和hibernate的區別?

2021-08-16 09:10:04 字數 1293 閱讀 3924

優點:

(1)mybatis不需要維護資料庫對映檔案,而且直接寫sql檔案,相對來說更易上手,開發效率也更高

(2)mybatis基於原生的jdbc,而

hibernate對jdbc進行了乙個封裝,執行速度上更有優勢

(3)在關聯查詢的時候,

hibernate會將整個資料字段載入進來,影響了效率

缺點:(1)hibernate資料庫移植性很好,mybatis的資料庫移植性不好,不同的資料庫需要寫不同sql.

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

2.1 mybatis 和hibernate快取比較

分為1級快取和2級快取,2級快取在sessionfactory中,1級快取在session中。

session中的快取在session連線關閉並被連線池**時清理,或者手動清理

sessionfactory中的快取需要在mybatis配置檔案中手動配置,配置如下:

[html]

view plain

copy

name

="cacheenabled"

value

="true"

/>

[html]

view plain

copy

namespace

="dao.userdao"

>

...  select statement ...       

eviction

="fifo"

flushinterval

="60000"

size

="512"

readonly

="true"

/>

flushinterval:重新整理輪詢時間,每隔這個時間後快取被清理一次。

hibernate

什麼樣的資料適合存放到第二級快取中?

1) 很少被修改的資料   

2) 不是很重要的資料,允許出現偶爾併發的資料   

3) 不會被併發訪問的資料   

4) 常量資料   

不適合存放到第二級快取的資料?

1) 經常被修改的資料   

2) 絕對不允許出現併發訪問的資料,如財務資料,絕對不允許出現併發   

3) 與其他應用共享的資料。

MyEclipse中刪除對Hibernate的支援

在myeclipse新增hibernate容易,刪除難,因為myeclipse中沒有刪除hibernate的功能鍵。但如果我們需要重新生成hibernate時,必須先徹底刪除hibernate支援。下面是手工刪除hibernate支援的方法 1.把專案根目錄下檔案.myhibernatedata刪除...

移除myeclipse中對hibernate的支援

在使用hibernate框架進行開發時可能會遇到配置錯誤或者需要刪除hibernate支援的情況。下面就說一下如何徹底移除專案的hibernate支援。移除後就能重新新增hibernate支援,重新配置了。1.找到你的專案的目錄 2.刪除.myhibernatedata檔案 3.找到.project...

Hibernate一級快取 Hibernate

1.session級別的快取,同session繫結,生命週期和session相同,當session銷毀,它也清除。管理以及快取的方法有clear evict clear清除session快取,evict將某個物件清除快取,相當於成為游離態detached。2.是實體級別的快取,只有在查詢物件級別的時...