bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

為什么阿里巴巴拋棄Hibernate使用MyBatis框架?-創(chuàng)新互聯(lián)

MyBatis

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的蘭山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

MyBatis是支持普通 SQL查詢(xún),存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis 使用簡(jiǎn)單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄。

每個(gè)MyBatis應(yīng)用程序主要都是使用SqlSessionFactory實(shí)例的,一個(gè)SqlSessionFactory實(shí)例可以通過(guò)SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個(gè)xml配置文件或者一個(gè)預(yù)定義的配置類(lèi)的實(shí)例獲得。

用xml文件構(gòu)建SqlSessionFactory實(shí)例是非常簡(jiǎn)單的事情。推薦在這個(gè)配置中使用類(lèi)路徑資源(classpath resource),但你可以使用任何Reader實(shí)例,包括用文件路徑或file://開(kāi)頭的url創(chuàng)建的實(shí)例。MyBatis有一個(gè)實(shí)用類(lèi)----Resources,它有很多方法,可以方便地從類(lèi)路徑及其它位置加載資源。

MyBatis的優(yōu)勢(shì)
MyBatis 是一款非常優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。不僅避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。還可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生信息,將接口和 Java 的 POJOs映射成數(shù)據(jù)庫(kù)中的記錄。
我們?cè)谑褂脗鹘y(tǒng)JDBC時(shí),往往需要寫(xiě)很多JDBC代碼,需要自己寫(xiě)SQL語(yǔ)句以及自己裝配參數(shù),然后自己對(duì)結(jié)果集進(jìn)行封裝處理。
而Mybatis則幫我們簡(jiǎn)化了以上功能,只需要一些配置文件(xml)或是注解的方式即可完成對(duì)數(shù)據(jù)庫(kù)的查詢(xún)以及結(jié)果的映射封裝。
為什么MyBatis能在國(guó)內(nèi)大廠(chǎng)里這么流行?
Mybatis之所以流行的一個(gè)原因是上手快,當(dāng)學(xué)完JDBC之后,再去學(xué)習(xí)Mybatis,上手時(shí)間要比Hibernate快。一個(gè)技術(shù)學(xué)習(xí)成本低,也是一個(gè)優(yōu)勢(shì)。
另外一個(gè)原因就是sql優(yōu)化上了,業(yè)務(wù)復(fù)雜的sql語(yǔ)句通常需要進(jìn)行優(yōu)化,此時(shí)操作Mybatis更加容易一些。
現(xiàn)在spring boot和Mybatis plus的出現(xiàn),使Mybatis使用起來(lái)更加簡(jiǎn)單了。所以在大多數(shù)場(chǎng)景里,MyBatis更適合。
為什么阿里巴巴的持久層拋棄Hibernate,采用MyBatis框架?
原因大概有以下4點(diǎn):
1、阿里在Mybatis上下了大功夫,他們對(duì)數(shù)據(jù)查詢(xún)的要求也比較高,而Hibernate把數(shù)據(jù)庫(kù)和你隔離了,如果使用Hibernate,雖然能對(duì)生成的查詢(xún)進(jìn)行一定程度的定制,但開(kāi)發(fā)起來(lái)付出的代價(jià)更大。
2、對(duì)于阿里這種規(guī)模的網(wǎng)站服務(wù),對(duì)cache的依賴(lài)是非常大的,對(duì)cache邏輯的要求非常高,而且一定要具體問(wèn)題,具體優(yōu)化。Hibernate自帶的cache并不能滿(mǎn)足像阿里這樣的公司的需求。
3、Hibernate在你項(xiàng)目開(kāi)始時(shí)候省事,但是會(huì)導(dǎo)致業(yè)務(wù)邏輯模型和數(shù)據(jù)庫(kù)模型互相依賴(lài)的程度太高,一旦項(xiàng)目變遷,隨便改一處數(shù)據(jù)庫(kù)的schema,整個(gè)java項(xiàng)目可能要改幾十處!而MyBatis的自動(dòng)mapping做的也不差,開(kāi)發(fā)起來(lái)也沒(méi)多花多少時(shí)間。等項(xiàng)目進(jìn)入中后期,你需要大量定制和優(yōu)化查詢(xún)的時(shí)候,MyBatis的開(kāi)發(fā)效率就勝出了。
4、很多地方Hibernate可以強(qiáng)大到只用一行代碼解決很多問(wèn)題,但比如說(shuō)一個(gè)update()或者save()到底做了什么,這里既有Hibernate本身的邏輯,也有你應(yīng)用的邏輯,如果這一行產(chǎn)生了問(wèn)題,你該如何去做?而MyBatis的開(kāi)發(fā)和調(diào)優(yōu)更加方便簡(jiǎn)單。尤其是需要處理大量數(shù)據(jù)或者大并發(fā)情況的網(wǎng)站服務(wù),這也阿里選擇MyBatis的原因。
為什么阿里巴巴拋棄Hibernate使用MyBatis框架?
大廠(chǎng)都在用MyBatis,跳槽的時(shí)候MyBatis更是面試必問(wèn)的內(nèi)容,那你對(duì)于MyBatis又掌握了多少呢

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

名稱(chēng)欄目:為什么阿里巴巴拋棄Hibernate使用MyBatis框架?-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://vcdvsql.cn/article2/ddpgic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站標(biāo)簽優(yōu)化網(wǎng)站營(yíng)銷(xiāo)商城網(wǎng)站企業(yè)建站網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作