mybatis 和hibernate的區別

2021-10-05 13:36:57 字數 660 閱讀 5292

簡介

1.mybatis是乙個不完全的orm框架。內部封裝了 jdbc,開發時只需要關注 sql 語句本身。

2.hibernate是乙個全自動的、完全物件導向的orm框架,它對jdbc進行了非常輕量級的物件封裝,建立物件與資料庫表的對映。

區別

1.hibernate中sql已經被封裝,直接被呼叫就可以,對開發者的sql要求不是很高,同時hibernate中不需要去關注物件關係對映。

對比於mybatis,所有的sql都需要開發者去手動寫,物件關係對映也需要去關注。sql 語句的編寫工作量較大, 尤其當字段多、關聯表多時, 對開發人員編寫sql語句的功底有一定要求。

2.hibernate 物件/關係對映能力強, 資料庫無關性好, 對於關係模型要求高的軟體, 如果用 hibernate 開發可以節省很多**, 提高效率。但如果對於龐大複雜的系統專案來說,sql語句較多,選擇hibernate 就不是乙個好方案。

3.效能優化上,因為hibernate不需要自己寫sql,一些sql語句不能自己得到控制,一些語句可能會消耗更多的效能,使用mybatis能夠自己寫sql,避免一些不必要的查詢。

4.在移植性方面hibernate會比mybatis更好,如果在更換資料庫的情況下mybatis中的sql就需要重新寫。

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.是實體級別的快取,只有在查詢物件級別的時...