MyBatis介紹是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
陽(yáng)江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
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ǔ)句充斥在不同的類中的代碼你就知道我在說(shuō)什么了)。它對(duì)查詢到的關(guān)系型數(shù)據(jù)進(jìn)行了全自動(dòng)的映射為 Object , 可能是基于這點(diǎn)有人說(shuō)它是半個(gè) ORM 框架,從這個(gè)觀點(diǎn)上來(lái)看也有點(diǎn)道理。(我個(gè)人認(rèn)為類似這樣的文字游戲不必太關(guān)心,還是把關(guān)注點(diǎn)放在技術(shù)本身,它有哪些功能,利用它我們可以做什么上)。
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)始人是 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)師。克林頓通過(guò)精益,Scrum和極限編程等敏捷方法來(lái)轉(zhuǎn)變產(chǎn)品開(kāi)發(fā)團(tuán)隊(duì),其技術(shù)專長(zhǎng)是實(shí)用的Web應(yīng)用程序開(kāi)發(fā),Web服務(wù),系統(tǒng)集成,云基礎(chǔ)架構(gòu)部署和遠(yuǎn)程工作能力。
MyBatis 的劣勢(shì)在于它的擴(kuò)展性較差,雖然暴漏了一個(gè) Interceptor 接口但是作用范圍十分有限。也沒(méi)有在一些重要組件類上提供一些類似于 SPI 的擴(kuò)展機(jī)制。這對(duì)于需要自定義擴(kuò)展的開(kāi)發(fā)者來(lái)說(shuō)十分的不友好。
看完上述內(nèi)容,你們掌握MyBatis介紹是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!