<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么國內(nèi)流行的 MyBatis ,國外 Java 工程師卻不愿意使用?

          共 1196字,需瀏覽 3分鐘

           ·

          2020-07-27 19:20

          點(diǎn)擊上方藍(lán)色“程序猿DD”,選擇“設(shè)為星標(biāo)”

          回復(fù)“資源”獲取獨(dú)家整理的學(xué)習(xí)資料!

          來源 |?zhihu.com/question/309662829

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

          我們看一下Google Trends的數(shù)據(jù):

          搜索條件是這樣的:

          World Wide:

          United States:

          France:

          India:

          Canada:

          China:

          Japan:

          其他英文技術(shù)網(wǎng)站上的多個(gè)統(tǒng)計(jì):

          再看看Stack Overflow上的問題數(shù):

          (含有hibernate的標(biāo)簽和問題數(shù))

          (含有mybatis的標(biāo)簽和問題數(shù))

          下面是我個(gè)人的觀點(diǎn):

          其實(shí)十年前我們主要使用的ORM框架就是iBatis,而阿里巴巴是對國內(nèi)Java開發(fā)者影響最大的一家公司。阿里在國內(nèi)Java社區(qū)的影響力有目共睹,這個(gè)大家應(yīng)該都能感受到, 阿里對Java社區(qū)貢獻(xiàn)了很多實(shí)用的開源工具,并且國內(nèi)Java開發(fā)者對于阿里開源的產(chǎn)品接納程度也最高。

          而且早期阿里系離職工程師的影響力也不可小覷,這些從阿里離職的工程師進(jìn)入了各個(gè)規(guī)模的公司, 通常也有擔(dān)任較高的職位, 擁有著相對較多的話語權(quán), 在新公司繼續(xù)使用自己熟悉的iBatis就是再正常不過的了。

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

          綜合考慮,Mybatis的優(yōu)點(diǎn)是簡單高效,優(yōu)化起來也方便,比較符合現(xiàn)在的開發(fā)節(jié)奏,現(xiàn)在的互聯(lián)網(wǎng)公司都是先快速開發(fā)占領(lǐng)市場,然后再優(yōu)化代碼。而且這個(gè)過程需求經(jīng)常是變來變?nèi)サ模_發(fā)人員也有流動(dòng)性,這種情況下用Mybatis顯然更加適合。

          往期推薦

          Spring 中 @Component、@Service 等注解如何被解析?

          kill -9 進(jìn)程殺不掉,怎么辦?

          Redis 的內(nèi)存淘汰策略問題

          面試:字符串拼接,什么時(shí)候用StringBuilder?

          Redis 6.0 除了多線程,別忘了這個(gè)牛逼特性!


          掃一掃,關(guān)注我

          一起學(xué)習(xí),一起進(jìn)步


          瀏覽 83
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产高潮视频 | 久久久春色 | 欧美三级国产精品 | 草逼视频网址 | 蜜乳AV一区二区 |