回覆列表
  • 1 # 豬哥互娛

    答:Hibernate和Mybatis都是orm物件關係對映框架,都是用於將資料持久化的框架技術。

    Hiberante較深度的封裝了jdbc,對開發者寫sql的能力要求的不是那麼的高,我們只要透過hql語句操作物件即可完成對資料持久化的操作了。

    另外hibernate可移植性好,如一個專案開始使用的是mysql資料庫,但是隨著業務的發展,現mysql資料庫已經無法滿足當前的繡球了,現在決定使用Oracle資料庫,雖然sql標準定義的資料庫間的sql語句差距不大,但是不同的資料庫sql標準還是有差距的,那麼我們手動修改起來會存在很大的困難,使用hibernate只需改變一下資料庫方言即可搞定。用hibernate框架,資料庫的移植變的非常方便。

    但是hibernate也存在著諸多的不足,比如在實際開發過程中會生成很多不必要的sql語句耗費程式資源,最佳化起來也不是很方便,且對儲存過程支援的也不夠太強大。但是針對於hibernate它也提供了一些最佳化策略,比如說懶載入、快取、策略模式等都是針對於它的最佳化方案。

    Mybatis 也是對jdbc的封裝,但是封裝的沒有hibernate那麼深,我們可以再配置檔案中寫sql語句,可以根據需求定製sql語句,資料最佳化起來較hibernate容易很多。

    Mybatis要求程式設計師寫sql的能力要相對使用hibernate的開發人員要高的多,且可移植性也不是很好。

    涉及到大資料的系統使用Mybatis比較好,因為最佳化較方便。涉及的資料量不是很大且對最佳化沒有那麼高,可以使用hibernate

  • 中秋節和大豐收的關聯?
  • 貓咪對人眨眼睛是喜歡的意思嗎?如何判斷貓咪眼睛傳達的情緒?