-
1 # 鹿德興
-
2 # alex3306
大陸的使用者量大,就算是小網站流量也很可觀。國外的不好說
-
3 # 星辰麗美
1.hibernate對sql做了一層封裝轉換變成了hql,sql對程式設計師來說是最直觀的,hql又包了一層,感覺彆扭。
2.都要生成一通xml,hibernate沒優勢啊,mybatis一些外掛單表不用xml了,維護方便啊。
3.大陸專案業務複雜,mybatis更具有靈活性。外掛豐富tk.mybatis、mybatis-plus大大降低了開發成本。
4.MyBatis可以進行更為細緻的SQL最佳化,可以減少查詢欄位。
5.MyBatis容易掌握,而Hibernate門檻較高。
6.快取問題(這一點我說得不一定對),話說hibernate比mybatis更好使用,需要注意得地方少。但是,但是,但是啊我覺得這只是對單機專案吧,目前多節點專案都用redis作為快取啊,這就使的架構師選擇mybatis時更加沒什麼猶豫了。
7.大陸開源專案基本都是整合得mybatis,氛圍就是這樣。用hibernate的都是一些老專案,公司內部的不開源的,基本的架構設計和目前的潮流格格不入了。大陸的培訓機構基本都時ssm流。
8.MyBatis相對於hibernate的缺點漸漸被彌補是關鍵,MyBatis的程式碼生成器拓展起來真的很方便。
9.MyBatis的批次儲存使用要注意
-
4 # 馬德加斯加
主要是hibernate提倡以面向物件的方式操作資料庫,SQL都是自動生成的,有些複雜的查詢orm生成的SQL不會命中索引,導致查詢效能不高。一切起源於傑克馬提出的去ioe運動,根本原因是沒錢就瘋狂壓榨程式設計師。
-
5 # 鈞哥閒談
面向資料庫程式設計,用MyBatis。
面向物件程式設計,用Hibernate。
-
6 # 卍151988091
國外程式在技術更新換代慢,求穩都用成熟技術,畢竟讓一個團隊整體更換技術棧並不容易,國外的開發者牛的多水的更多,都是朝九晚五享受生活不像大陸內卷嚴重不停充電
-
7 # 馬薩諸塞的雪
大陸人多,使用者量大,必須要mybatis來最佳化sql。國外大部分網站人不多,hibernate更效率,國外的大型網站依然是mybatis,不過嘛大型畢竟只有那幾家,所以國外hibernate是主流。
-
8 # Echo1980
這兩個東西放在一起?JPA吧?hibernate是永續性框架。mybatis和jpa是二次封裝
-
9 # SutraZHOU
寫久了,發現二者都不合用,自己搞了一套,二者結合,了沒知道該算什麼,H太重,單一系統做ERP類很難上太多使用者,更不用說做SAAS了,M寫感覺有些麻煩(也許是不會用)SQL堆積在引數檔案中,不是太靈活高效,各有各的好吧。
-
10 # 稻草江南
國內有段時間也流行過hibernate,但大多到後期,覺的不好最佳化。還是覺的mybatis可控,符合國情唄,但為了對付mybatis這個半成品,業界也推出了不少增強框架:mybatis plus, tk mybatis, mybatis enhance。 這些產品有不少優點,但也都沒有辦法徹底解決問題。
最近有個新興起的增強框架, fluent mybatis,吸收很多框架的優點,既有jpa的方便,又保持了可以自己編寫sql的原始掌控能力。
同時有很多增強的特性:分頁處理,租房處理,巢狀查詢,聯表查詢,多資料庫相容處理,fluent語法。
https://gitee.com/fluent-mybatis/fluent-mybatis
-
11 # 認真的風聲XR
流行的不是代表好的,一個orm框架而已,使用的是開發人員,好不好用,滿不滿足開發和系統要求是最重要的。為什麼hibernate少,是當年去除ejb的時候隨便把jpa也排除了,看到早期阿里改了mybatis 自認為自己用了mybatis就能處理相同數量級的資料。實際國內大部分業務用hibernate開發沒有一點點問題。實現不了那隻可能是自己水平問題。最新的springdata依然使用hibernate處理關係資料庫,完全沒有mybatis。而且從開發速度,bug處理,架構,真的沒有mybatis啥事。
回覆列表
1.大陸基本都學過SQL,而且寫SQL很方便。
2.大陸大多數是“面向資料庫程式設計”
3.JPA的表連線太難懂,大陸對於ORM的思想還是停留在JDBC
4.Mybatis更易於維護,面對不穩定的大陸環境更適合