{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

為什么國內(nèi)流行mybatis,國外反而多用hibernate?

付倫付倫 回答0 收藏1
問題描述:最近看了一個調(diào)查,只有中日韓在使用mybatis,其他地區(qū)大多都在用hibernate,這是什么原因?qū)е碌模縨ybatis和hibernate又分別適用于什么場景呢?
收藏問題

9條回答

garfileo

garfileo

回答于2022-06-28 14:13

主要是hibernate提倡以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫,SQL都是自動生成的,有些復雜的查詢orm生成的SQL不會命中索引,導致查詢性能不高。一切起源于杰克馬提出的去ioe運動,根本原因是沒錢就瘋狂壓榨程序員。

評論0 贊同0
  •  加載中...
whlong

whlong

回答于2022-06-28 14:13

1.國內(nèi)基本都學過SQL,而且寫SQL很方便。

2.國內(nèi)大多數(shù)是“面向數(shù)據(jù)庫編程”

3.JPA的表連接太難懂,國內(nèi)對于ORM的思想還是停留在JDBC

4.Mybatis更易于維護,面對不穩(wěn)定的國內(nèi)環(huán)境更適合

評論0 贊同0
  •  加載中...
qujian

qujian

回答于2022-06-28 14:13

1.hibernate對sql做了一層封裝轉(zhuǎn)換變成了hql,sql對程序員來說是最直觀的,hql又包了一層,感覺別扭。

2.都要生成一通xml,hibernate沒優(yōu)勢啊,mybatis一些插件單表不用xml了,維護方便啊。

3.國內(nèi)項目業(yè)務復雜,mybatis更具有靈活性。插件豐富tk.mybatis、mybatis-plus大大降低了開發(fā)成本。

4.MyBatis可以進行更為細致的SQL優(yōu)化,可以減少查詢字段。

5.MyBatis容易掌握,而Hibernate門檻較高。

6.緩存問題(這一點我說得不一定對),話說hibernate比mybatis更好使用,需要注意得地方少。但是,但是,但是啊我覺得這只是對單機項目吧,目前多節(jié)點項目都用redis作為緩存啊,這就使的架構師選擇mybatis時更加沒什么猶豫了。

7.國內(nèi)開源項目基本都是集成得mybatis,氛圍就是這樣。用hibernate的都是一些老項目,公司內(nèi)部的不開源的,基本的架構設計和目前的潮流格格不入了。國內(nèi)的培訓機構基本都時ssm流。

8.MyBatis相對于hibernate的缺點漸漸被彌補是關鍵,MyBatis的代碼生成器拓展起來真的很方便。

9.MyBatis的批量保存使用要注意

評論0 贊同0
  •  加載中...
lakeside

lakeside

回答于2022-06-28 14:13

面向數(shù)據(jù)庫編程,用MyBatis。

面向?qū)ο缶幊?,用Hibernate。

評論0 贊同0
  •  加載中...
mindwind

mindwind

回答于2022-06-28 14:13

當你理解了jpa規(guī)范那一套以后 就真的不想用mybatis了 特別是項目中使用ffffd

評論0 贊同0
  •  加載中...
bergwhite

bergwhite

回答于2022-06-28 14:13

國內(nèi)有段時間也流行過hibernate,但大多到后期,覺的不好優(yōu)化。還是覺的mybatis可控,符合國情唄,但為了對付mybatis這個半成品,業(yè)界也推出了不少增強框架:mybatis plus, tk mybatis, mybatis enhance。 這些產(chǎn)品有不少優(yōu)點,但也都沒有辦法徹底解決問題。

最近有個新興起的增強框架, fluent mybatis,吸收很多框架的優(yōu)點,既有jpa的方便,又保持了可以自己編寫sql的原始掌控能力。

同時有很多增強的特性:分頁處理,租房處理,嵌套查詢,聯(lián)表查詢,多數(shù)據(jù)庫兼容處理,fluent語法。

https://gitee.com/fluent-mybatis/fluent-mybatis

https://mp.weixin.qq.com/s/jlcWt_1zbksDgncVr64nqA


評論0 贊同0
  •  加載中...
hizengzeng

hizengzeng

回答于2022-06-28 14:13

國內(nèi)人多,用戶量大,必須要mybatis來優(yōu)化sql。國外大部分網(wǎng)站人不多,hibernate更效率,國外的大型網(wǎng)站依然是mybatis,不過嘛大型畢竟只有那幾家,所以國外hibernate是主流。

評論0 贊同0
  •  加載中...
aisuhua

aisuhua

回答于2022-06-28 14:13

因為中國人多,數(shù)據(jù)量大,業(yè)務變化快,設計人員水平問題,時間緊,這些層層疊加起來就讓頭部程序員選擇更靈活的mybatis,然后他們寫出各種文檔,后輩們自然跟風,難道我放著中文不看去看英文資料?

評論0 贊同0
  •  加載中...
宋華

宋華

回答于2022-06-28 14:13

1:持久層只是個工具,不要太在意。

2:中西方思考方式還是有比較大的差已的,不要以自己當前的環(huán)境考慮別人的選擇

3:如果是數(shù)據(jù)庫編程為主的團隊,mybatis還是不錯的,畢竟這種團隊選擇它,不是自己決定的,而是市場環(huán)境之必然

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<