最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

hibernate和mybatis區(qū)別

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2021-11-16 10:20:25
文檔

hibernate和mybatis區(qū)別

1、hibernate是全自動,而mybatis是半自動。2、hibernate數(shù)據(jù)庫移植性遠(yuǎn)大于mybatis。3、hibernate擁有完整的日志系統(tǒng),mybatis則欠缺一些。
推薦度:
導(dǎo)讀1、hibernate是全自動,而mybatis是半自動。2、hibernate數(shù)據(jù)庫移植性遠(yuǎn)大于mybatis。3、hibernate擁有完整的日志系統(tǒng),mybatis則欠缺一些。

hibernate和mybatis區(qū)別如下:

      1、hibernate是全自動,而mybatis是半自動。

  

  hibernate完全可以通過對象關(guān)系模型實(shí)現(xiàn)對數(shù)據(jù)庫的操作,擁有完整的JavaBean對象與數(shù)據(jù)庫的映射結(jié)構(gòu)來自動生成sql。而mybatis僅有基本的字段映射,對象數(shù)據(jù)以及對象實(shí)際關(guān)系仍然需要通過手寫sql來實(shí)現(xiàn)和管理。

  

  2、hibernate數(shù)據(jù)庫移植性遠(yuǎn)大于mybatis。

  

  hibernate通過它強(qiáng)大的映射結(jié)構(gòu)和hql語言,大大降低了對象與數(shù)據(jù)庫(oracle、mysql等)的耦合性,而mybatis由于需要手寫sql,因此與數(shù)據(jù)庫的耦合性直接取決于程序員寫sql的方法,如果sql不具通用性而用了很多某數(shù)據(jù)庫特性的sql語句的話,移植性也會隨之降低很多,成本很高。

  

  3、hibernate擁有完整的日志系統(tǒng),mybatis則欠缺一些。

  

  hibernate日志系統(tǒng)非常健全,涉及廣泛,包括:sql記錄、關(guān)系異常、優(yōu)化警告、緩存提示、臟數(shù)據(jù)警告等;而mybatis則除了基本記錄功能外,功能薄弱很多。

  

  4、mybatis相比hibernate需要關(guān)心很多細(xì)節(jié)。

  

  hibernate配置要比mybatis復(fù)雜的多,學(xué)習(xí)成本也比mybatis高。但也正因?yàn)閙ybatis使用簡單,才導(dǎo)致它要比hibernate關(guān)心很多技術(shù)細(xì)節(jié)。mybatis由于不用考慮很多細(xì)節(jié),開發(fā)模式上與傳統(tǒng)jdbc區(qū)別很小,因此很容易上手并開發(fā)項(xiàng)目,但忽略細(xì)節(jié)會導(dǎo)致項(xiàng)目前期bug較多,因而開發(fā)出相對穩(wěn)定的軟件很慢,而開發(fā)出軟件卻很快。hibernate則正好與之相反。但是如果使用hibernate很熟練的話,實(shí)際上開發(fā)效率絲毫不差于甚至超越mybatis。

  

  5、sql直接優(yōu)化上,mybatis要比hibernate方便很多。

  

  由于mybatis的sql都是寫在xml里,因此優(yōu)化sql比hibernate方便很多。而hibernate的sql很多都是自動生成的,無法直接維護(hù)sql;雖有hql,但功能還是不及sql強(qiáng)大,見到報(bào)表等變態(tài)需求時(shí),hql也歇菜,也就是說hql是有局限的;hibernate雖然也支持原生sql,但開發(fā)模式上卻與orm不同,需要轉(zhuǎn)換思維,因此使用上不是非常方便??傊畬憇ql的靈活度上hibernate不及mybatis。

  

  

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

hibernate和mybatis區(qū)別

1、hibernate是全自動,而mybatis是半自動。2、hibernate數(shù)據(jù)庫移植性遠(yuǎn)大于mybatis。3、hibernate擁有完整的日志系統(tǒng),mybatis則欠缺一些。
推薦度:
標(biāo)簽: 區(qū)別 比較 的區(qū)別
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題hibernate和mybatis有什么區(qū)別專題hibernate和mybatis的區(qū)別面試專題hibernate和mybatis的區(qū)別面試題專題mybatis和hibernate區(qū)別專題mybatis和hibernate的區(qū)別專題hibernate和mybatis的區(qū)別專題hibernate和mybatis區(qū)別專題
Top