溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

MyBatis介紹是怎樣的

發(fā)布時(shí)間:2021-10-11 09:47:03 來(lái)源:億速云 閱讀:127 作者:柒染 欄目:大數(shù)據(jù)

MyBatis介紹是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

MyBatis 是一個(gè)什么框架

MyBatis介紹是怎樣的

mybatis 是一個(gè)工作在 Java 持久層的框架,是一個(gè) SQL 映射框架 , 也就是在 SQL 語(yǔ)句和 Java 代碼之間建立映射關(guān)系。因?yàn)榻^大多數(shù) Java 程序員的編程習(xí)慣都是使用 Java API 這對(duì)他們來(lái)說(shuō)是最最熟悉的領(lǐng)域。所以 MyBatis 并不是一個(gè) ORM (Object Relational Mapping)框架,從 ORM 這個(gè)名詞中可以看出來(lái)這里面壓根就沒(méi)有 SQL 的存在,也就是要故意的讓開(kāi)發(fā)人員忽略掉 SQL ,而只需要去關(guān)注 Object 和 關(guān)系型數(shù)據(jù)庫(kù)之間關(guān)聯(lián)關(guān)系,當(dāng)然了不可避免的 SQL 是 Java API 和 關(guān)系型數(shù)據(jù)庫(kù)之間溝通的一個(gè)橋梁,ORM 做的事情就是它為你完全自動(dòng)化的解決了這個(gè)過(guò)程。


mybatis 的關(guān)注點(diǎn)在 SQL 和 Java API 之間的映射上,這是它的設(shè)計(jì)目的和原則,它將 SQL 和 Java API 分離開(kāi)來(lái),目的是不讓大量的 SQL 污染了你的 Java 代碼(當(dāng)然如果你見(jiàn)過(guò)那種 SQL 語(yǔ)句充斥在不同的類(lèi)中的代碼你就知道我在說(shuō)什么了)。它對(duì)查詢(xún)到的關(guān)系型數(shù)據(jù)進(jìn)行了全自動(dòng)的映射為 Object , 可能是基于這點(diǎn)有人說(shuō)它是半個(gè) ORM 框架,從這個(gè)觀點(diǎn)上來(lái)看也有點(diǎn)道理。(我個(gè)人認(rèn)為類(lèi)似這樣的文字游戲不必太關(guān)心,還是把關(guān)注點(diǎn)放在技術(shù)本身,它有哪些功能,利用它我們可以做什么上)。


MyBatis 的發(fā)展歷史

MyBatis介紹是怎樣的

MyBatis 曾經(jīng)叫做 iBatis , 2011年6月以前是數(shù)據(jù) Apache 軟件基金會(huì)的項(xiàng)目,在 3.0 版本發(fā)布的同時(shí)iBatis 主頁(yè)上的一則 “Apache iBATIS has been retired” 的聲明在社區(qū)引起了一陣不小的波瀾。在 Apache 寄居六年之后,iBatis 將代碼托管到 Google Code。在聲明中給出的主要理由是,和 Apache 相比,Google Code 更有利于開(kāi)發(fā)者的協(xié)同工作,也更能適應(yīng)快速發(fā)布。于此同時(shí),iBatis 更名為 MyBatis。


MyBatis 的作者 & 創(chuàng)始人

MyBatis介紹是怎樣的

MyBatis 的作者也是創(chuàng)始人是 Clinton Begin 。Clinton Begin已經(jīng)在視頻游戲行業(yè),企業(yè)和開(kāi)源社區(qū)中建立了業(yè)務(wù)。他曾在Riot Games,ThoughtWorks,Microsoft和Stanford University等行業(yè)知名公司擔(dān)任高級(jí)工程師和敏捷導(dǎo)師的顧問(wèn),他的經(jīng)驗(yàn)涵蓋了廣泛的游戲,業(yè)務(wù)和技術(shù)領(lǐng)域??肆诸D已將敏捷方法論,開(kāi)源軟件,Java,.NET和Go應(yīng)用于大規(guī)模應(yīng)用程序的開(kāi)發(fā)。他是有關(guān)各種技術(shù)和商業(yè)主題的經(jīng)驗(yàn)豐富的教練,作家,演講者和培訓(xùn)師??肆诸D通過(guò)精益,Scrum和極限編程等敏捷方法來(lái)轉(zhuǎn)變產(chǎn)品開(kāi)發(fā)團(tuán)隊(duì),其技術(shù)專(zhuān)長(zhǎng)是實(shí)用的Web應(yīng)用程序開(kāi)發(fā),Web服務(wù),系統(tǒng)集成,云基礎(chǔ)架構(gòu)部署和遠(yuǎn)程工作能力。


MyBatis 的優(yōu)點(diǎn)

1.MyBatis 最大的優(yōu)點(diǎn)就是保留了 SQL 的強(qiáng)大功能,讓開(kāi)發(fā)人員可以更加靈活的運(yùn)用 SQL (當(dāng)然前提是你寫(xiě) SQL 水平還不錯(cuò)),同時(shí)盡可能的保持 Java 代碼的干凈。

2.MyBatis 輕量,簡(jiǎn)單,易學(xué),開(kāi)發(fā)者能夠很快掌握如何使用它進(jìn)行持久層的開(kāi)發(fā)。


MyBatis 的劣勢(shì)

MyBatis 的劣勢(shì)在于它的擴(kuò)展性較差,雖然暴漏了一個(gè) Interceptor 接口但是作用范圍十分有限。也沒(méi)有在一些重要組件類(lèi)上提供一些類(lèi)似于 SPI 的擴(kuò)展機(jī)制。這對(duì)于需要自定義擴(kuò)展的開(kāi)發(fā)者來(lái)說(shuō)十分的不友好。

看完上述內(nèi)容,你們掌握MyBatis介紹是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI