溫馨提示×

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

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

MyBatis的特點(diǎn)以及作用

發(fā)布時(shí)間:2021-09-13 18:53:38 來(lái)源:億速云 閱讀:426 作者:chen 欄目:數(shù)據(jù)庫(kù)

這篇文章主要講解了“MyBatis的特點(diǎn)以及作用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“MyBatis的特點(diǎn)以及作用”吧!

MyBatis特點(diǎn)?

  1.輕量級(jí)自身不依賴其他任何JAR,但需要提供JDBC實(shí)現(xiàn)

  2.靈活,更加適用于需求變化頻繁的互聯(lián)網(wǎng)應(yīng)用

  3.學(xué)習(xí)成本低,相比ORM框架而言,掌握MyBatis的使用是很輕松的

MyBatis在結(jié)構(gòu)中的位置?

  MyBatis處在DAO(數(shù)據(jù)訪問(wèn)對(duì)象)的位置,回顧一下DAO的工作職責(zé):

  連接數(shù)據(jù)庫(kù)

  接收輸入數(shù)據(jù)

  拼接并執(zhí)行SQL

  解析并返回結(jié)果

MyBatis可以做什么?

  使用JDBC完成DAO層存在以下問(wèn)題

  每次操作都需要手動(dòng)的創(chuàng)建連接,最后關(guān)閉連接

  對(duì)于重復(fù)代碼通常開發(fā)者都會(huì)進(jìn)行封裝,但是由于每個(gè)人的編碼風(fēng)格不同導(dǎo)致封裝的代碼也沒(méi)有固定的套路

  MyBatis將數(shù)據(jù)庫(kù)連接相關(guān)的參數(shù)放到配置XML中并封裝了創(chuàng)建連接的代碼

  頻繁的創(chuàng)建和銷毀連接

  由于數(shù)據(jù)庫(kù)連接使用的是TCP長(zhǎng)連接,并發(fā)量大的系統(tǒng)中,這樣的方式會(huì)導(dǎo)致數(shù)據(jù)庫(kù)連接資源耗盡

  MyBatis本身實(shí)現(xiàn)了連接池,可以解決這一問(wèn)題,當(dāng)然后續(xù)會(huì)更換其他更好的連接池

  接受參數(shù)拼接SQL語(yǔ)句并執(zhí)行

  每一條SQL語(yǔ)句都是直接寫在代碼中(硬編碼),如果后期需求發(fā)生變化,則需要修改源碼中的SQL,然后重新編譯,測(cè)試.....

  MyBatis將SQL語(yǔ)句從代碼中剝離到Mapper.xml映射文件中

  解析結(jié)果

  JDBC返回的是ResultSet,必須手動(dòng)將其映射到一個(gè)個(gè)的對(duì)象中,同樣是重復(fù)度很高的代碼;并且存在硬編碼問(wèn)題

  MyBatis實(shí)現(xiàn)了入?yún)⒂成涞絊QL參數(shù),以及結(jié)果集映射到POJO對(duì)象。

感謝各位的閱讀,以上就是“MyBatis的特點(diǎn)以及作用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)MyBatis的特點(diǎn)以及作用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向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