Mybatis vs JPA(Hibernate)

一、應用場合:

傳統(tǒng)公司、部分個人開發(fā)者喜歡用jpa(Hibernate);而互聯(lián)網(wǎng)公司更青睞于mybatis

原因:

1、mybatis更加靈活,開發(fā)迭代模式?jīng)Q定了他是互聯(lián)網(wǎng)公司的首先;每一次的修改不會帶來性能上的下降。

2、傳統(tǒng)公司需求迭代速度慢、項目改動小,hibernate可以做到一勞永逸;hibernate容易因為添加關聯(lián)關系或者開發(fā)者不了解優(yōu)化導致項目,造成越改越糟糕。

二、各自特點:

1、mybatis官方文檔就說了他是一個半自動化的持久層框架,相對于按自動的hibernate更加靈活可控;

2、mybatis的學習成本低于hibernate。

3、使用hibernate需要對他有深入的了解,尤其是緩存方面,作為一個持久層框架,性能還是第一位的。

hibernate具有三級緩存,一級緩存默認是開啟的,二級緩存需要手動開始并配置優(yōu)化,三級緩存可以整合業(yè)界流行的緩存技術:redis,ecache等等。

4、hibernate在關聯(lián)查詢中的懶加載。(在開發(fā)中,還是不建議去過多使用外鍵去關聯(lián)操作)

5、jpa是一種規(guī)范,hibernate也是遵從這種規(guī)范;

6、springDataJpa是對repository的封裝,簡化了repository的操作。

  1. Mybatis優(yōu)勢
    Mybatis優(yōu)勢

    8.JPA優(yōu)勢
    JPA優(yōu)勢

    9.Mybatis劣勢
    Mybatis劣勢

    需要Mybatis-Plus 登場

三丶個人感覺

如何對 JPA 或者 MyBatis 進行技術選型

總結

1、JPA、Hibernate、Mybatis簡單了解

1.JPA:本身是一種ORM規(guī)范,不是ORM框架.由各大ORM框架提供實現(xiàn).

2.Hibernate:目前最流行的ORM框架,設計靈巧,文檔豐富(完全自動操作),只是性能不好控制(自己去控制性能,不是很好控制)。

Hibernate是一個完整的ORM框架,常規(guī)CRUD我們不需要寫一句SQL;

3.MyBatis:本是apache的一個開源項目iBatis,提供的持久層框架包括SQL Maps和Dao,允許開發(fā)人員直接編寫SQL(更好靈活).(Sql操作方式)

MyBatis 并不是一個完整的ORM框架,因為我們還需要自己去寫全部SQL

2、JPA 和Hibernate 和 Mybatis的區(qū)別

JPA:規(guī)范,各大ORM框架實現(xiàn)這個規(guī)范??梢宰詣咏ū怼?/p>

Hibernate:是完整的ORM,不需要我們寫sql,框架比較重,學習成本比較高,性能不好控制,功能強大且文檔豐富。

Mybatis:不是完整的ORM,程序員需要自己去寫全部的SQL,輕量級框架,學習成本低,性能好控制。不能自動建表。

ORM操作數(shù)據(jù)庫關系映射的方式:

1、通過配置文件,將domain和數(shù)據(jù)庫中的表映射,將domain成員成員變量和表中的列映射。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容