爲什麼老外不願意用 MyBatis?

Spring 團隊的 Josh Long 自己在 Twitter 上做了一個調查。1625 次投票,樣本量不算大,但也能說明問題。和我答案最後的那些調查圖表基本一致。

我們看一下 Google Trends 的數據:

搜索條件是這樣的:

World Wide:

United States:

France:

India:

Canada:

China:

Japan:

其他英文技術網站上的多個統計:

再看看 Stack Overflow 上的問題數:

(含有 hibernate 的標籤和問題數)

(含有 mybatis 的標籤和問題數)

下面是 java 版 web 項目作者個人的觀點:

其實十年前我們主要使用的 ORM 框架就是 iBatis,而阿里巴巴是對國內 Java 開發者影響最大的一家公司。阿里在國內 Java 社區的影響力有目共睹,這個大家應該都能感受到, 阿里對 Java 社區貢獻了很多實用的開源工具,並且國內 Java 開發者對於阿里開源的產品接納程度也最高。

而且早期阿里系離職工程師的影響力也不可小覷,這些從阿里離職的工程師進入了各個規模的公司, 通常也有擔任較高的職位, 擁有着相對較多的話語權, 在新公司繼續使用自己熟悉的 iBatis 就是再正常不過的了。

MyBatis 封裝較少,提供的切入點較多,適合進行架構。遇到超級複雜的場景的時候有不錯的 sql 支持。曾經 JPA 適合做增刪改,mybatis 只擅長查詢,但是現在的 tk.mybatis 已經補上了這一塊短板,而 JPA 的依然沒有補上他的查詢短板。在複雜情況下需要在代碼裏嵌入大量 sql 片段或手動用代碼拼裝 sql,但是老實說,都到這份上了,寫 sql 不是還更快一點?因此,做企業級應用時,如果組內 Hibernate 會的人多,可以考慮用這個,但是依然會埋下一個性能的坑。做互聯網級應用時,建議還是用 Mybatis 吧。

綜合考慮,Mybatis 的優點是簡單高效,優化起來也方便,比較符合現在的開發節奏,現在的互聯網公司都是先快速開發佔領市場,然後再優化代碼。而且這個過程需求經常是變來變去的,開發人員也有流動性,這種情況下用 Mybatis 顯然更加適合。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/TIM2nMvVdhVaP-CXQpK58w