1. 程式人生 > >粗略的談談hibernate和mybatis的優缺點

粗略的談談hibernate和mybatis的優缺點

一、框架介紹

        hibernate是一個優秀的ORM框架(物件關係隱射),高度封裝sql語句與表關係,開發者只需要配置好表與pojo類的關係隱射,還有表與表,類與類的多對多,多對一,一對一關係。則開發人員無需sql語句如何編寫,把精力放在業務邏輯是。

     mybatis也是一個優秀的ORM框架,不過相對於hibernate來說是比較簡陋的,他只是對jdbc的封裝,sql語句還有表關係都得自己一一對映。

二、框架使用

        1)hibernate在配置好關係後,可直接對物件進行操作,讓使用會話物件的方法實現對資料庫的crud操作,而mybatis則需要手動編寫sql語句,這樣一對比,hibernate的開發速度要優於mybatis,但同時問題也出現了,在面對一些高階查詢時,hibernate則是顯得有些力不從心了,hibernate的sql語句是寫死的,有時候一些欄位我們並不需要查詢或者修改,但是他封裝的是全部,雖然我們可以手動設定欄位,但是卻破壞了hibernate的簡潔性。而mybatis則可以自己手動編寫sql進行優化,且有動態sql的功能,可以優化sql.

    2)hibernate有自己的快取機制,mybatis則沒有,而現在大多數都是使用第三方快取,所以這個優點已被抹去。

    3)hibernate相對來說是重量級的,入門門檻高,而mybatis則是輕量級封裝jdbc,可以現學現用。

三、總結

    1)hibernate適合對單表進行操作,不能優化sql,不適合開發高併發的專案,適合OA.CRM等專案的開發。

   2)mybatis的sql語句靈活性,適合網際網路專案的開發。