JPA,Hibernate,ibatis(mybatis)如何選用?

來源:互聯網
上載者:User

標籤:font   來源   span   頻繁   str   sql最佳化   hibernate   移植   www   

轉自:http://t.51jdy.cn/thread-259-1-1.html

傳統的 業務系統,通常業務都比較複雜,懂業務的營運人員 對sql查詢工具都比較熟悉。
這種以 資料庫 為主的 業務情境 使用 以sql為主的持久層架構 例如:ibatis,mybatis
這種 效能最佳化的時候 sql 語句調整較為方便,甚至 業務人員 會直接提供 業務對於的 sql給開發人員。

 

對於快速迭代的中小型 新項目,適合使用hibernate(JPA + hibernate驅動)。
快速迭代 適合 使用物件導向的 持久層架構。在開發過程中 對象的變更非常頻繁。
這種 持久層架構 適合 快速 重構 ,提高開發效率。
但是 這種架構 易學難精,用的不好就容易造成效能問題,用的好效能並不輸於ibatis架構。
在做效能最佳化方面 可藉助 緩衝實現。  

 

Hibernate的真正掌握要比Mybatis來得難些。Mybatis架構相對簡單很容易上手,但也相對簡陋些。個人覺得要用好Mybatis還是首先要先理解好Hibernate。

 

Mybatis優勢
  • MyBatis可以進行更為細緻的SQL最佳化,可以減少查詢欄位。
  • MyBatis容易掌握,而Hibernate門檻較高。
Hibernate優勢
  • Hibernate的DAO層開發比MyBatis簡單,Mybatis需要維護SQL和結果映射。
  • Hibernate對對象的維護和緩衝要比MyBatis好,對增刪改查的對象的維護要方便。
  • Hibernate資料庫移植性很好,MyBatis的資料庫移植性不好,不同的資料庫需要寫不同SQL。
  • Hibernate有更好的二級緩衝機制,可以使用第三方緩衝。MyBatis本身提供的緩衝機制不佳。


烏拉拉
連結:https://www.zhihu.com/question/21104468/answer/58579295
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。  Hibernate全自動機槍,MyBatis半自動機槍,然後在高速射擊資料庫子彈的情況下,Hibernate容易卡殼,那時你就會說原來還是myBatis靠譜。。。

JPA,Hibernate,ibatis(mybatis)如何選用?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.