1. 程式人生 > >Mybatis和Hibernate區別和應用場景

Mybatis和Hibernate區別和應用場景

hibernate:

是一個標準的ORM框架(物件關係對映)。入門門檻較高,不需要程式寫sql語句,sql語句自動生產了。

特點:

對sql的優化比較困難。

Hibernate對物件的維護和快取要比MyBatis好,對增刪改查的物件的維護要方便。

Hibernate資料庫移植性很好,MyBatis的資料庫移植性不好,不同的資料庫需要寫不同SQL。

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

應用場景:

適用與需求變化不多的中小型專案中,比如後臺管理,OA專案,ERP專案;


mybatis:

mybatis是一個不完全的ORM框架,雖然程式設計師自己寫sql,mybatis也可以實現對映(輸入對映,輸出對映)。

特點:

由於直接編寫SQL語句,所以靈活多變,程式碼維護性更好。

專注於sql本身,需要程式設計師自己編寫sql語句,sql修改,優化比較方便。

不能支援資料庫無關性,即資料庫發生變更,要寫多套程式碼進行支援,移植性不好。

試用場景:

適用於需求變化較多的專案,比如:網際網路專案。