MyBatis與Hibernate區別

一、Hibernate與MyBatis簡介

Hibernate是面向對象(POJO)的,其實現了POJO與數據庫表之間的映射以及SQL 的自動生成和執行。

MyBatis是面向SQL的,主要實現POJO 與SQL之間的映射關係。

二、區別:

MyBatis面向SQL,能夠對SQL進行細緻的優化,提升數據庫操做的效率,並且能夠指定查詢部分字段;Hibernate雖然減小開發時操做數據庫

的細節,簡化開發人員的開發過程,使開發人員更專一業務邏輯,可是Hibernate對於將爲複雜的表關係,將會變得很複雜,並且各類級聯的

關係很容易下降性能,要想解決問題,必須對Hibernate的實現細節有較強的認識。

三、項目開發過程當中使用二者時遇到的問題數據庫

開發同時具備PC端、移動端的服務端接口時,使用Hibernate遇到比較棘手的問題就是,以前咱們對對象懶加載的配置雖然在PC端能夠完成,可是因爲移動端調用服務端接口,通常採用JSON或者XML,沒法實現懶加載,不得不在業務層對對象進行另一次的轉換,將級聯的對象進行轉換;而在使用MyBatis時則不會存在該問題。性能

相關文章
相關標籤/搜索