為什么老外不願意用MyBatis?


作者:陳龍

www.zhihu.com/question/309662829

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

為什么老外不願意用MyBatis?

我們看一下Google Trends的數據:

搜索條件是這樣的:

為什么老外不願意用MyBatis?

World Wide:

為什么老外不願意用MyBatis?

United States:

為什么老外不願意用MyBatis?

France:

為什么老外不願意用MyBatis?

India:

為什么老外不願意用MyBatis?

Canada:

為什么老外不願意用MyBatis?

China:

為什么老外不願意用MyBatis?

Japan:

為什么老外不願意用MyBatis?

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

為什么老外不願意用MyBatis?

為什么老外不願意用MyBatis?

再看看Stack Overflow上的問題數:

為什么老外不願意用MyBatis?

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

為什么老外不願意用MyBatis?

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

 

下面是我個人的觀點:

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

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

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

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

推薦閱讀(點擊即可跳轉閱讀)

 

1. SpringBoot內容聚合

2. 面試題內容聚合

3. 設計模式內容聚合

4. Mybatis內容聚合

5. 多線程內容聚合

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM