mybatis學(xué)習(xí)筆記——通過(guò)mybatis框架接入數(shù)據(jù)庫(kù)

mybatis框架簡(jiǎn)介

? mybatis框架是持久化框架,通過(guò)xml格式或注解的配置文件猖任,簡(jiǎn)化JDBC的代碼补履,來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。


mybatis框架配置

? 本文主要是通過(guò)maven來(lái)搭建mybatis框架太伊,而搭建mybatis框架只需要導(dǎo)入mybatis的jar包還有數(shù)據(jù)庫(kù)和java連接的相應(yīng)驅(qū)動(dòng)包(下文使用的是mysql的驅(qū)動(dòng)包)就可以進(jìn)行。只需在pom.xml文件中添加注解:


mybatis實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)庫(kù)交換

1.建立數(shù)據(jù)庫(kù):

2.編寫(xiě)數(shù)據(jù)庫(kù)配置文件

? 在src文件夾下新建xml文件(Configuration.xml)逛钻,文件內(nèi)容如下:

其中

? <typeAlias>標(biāo)簽給實(shí)體類設(shè)置相應(yīng)的別名僚焦,方便后面的使用。

? <environment>標(biāo)簽來(lái)連接相應(yīng)的數(shù)據(jù)庫(kù)曙痘,其中參數(shù)url是設(shè)置要相應(yīng)連接的數(shù)據(jù)庫(kù)芳悲,username和password是用來(lái)設(shè)置連接數(shù)據(jù)庫(kù)的身份

? <mapper>標(biāo)簽是用來(lái)配置需要使用的映射文件

3.編寫(xiě)相應(yīng)的pojo類

? 這是相應(yīng)的pojo類的參數(shù)以及編寫(xiě)相應(yīng)的set與get方法(此處省略)

4.編寫(xiě)pojo類的映射文件

? 在新建pojo類的映射文件,該映射文件的路徑與數(shù)據(jù)庫(kù)配置文件中<mapper>標(biāo)簽對(duì)應(yīng)的路徑一致边坤;此處建立了的配置文件名為User.xml

本例子主要是通過(guò)接口來(lái)操作數(shù)據(jù)庫(kù)

? <mapper>標(biāo)簽中的屬性namespace是用來(lái)實(shí)現(xiàn)相應(yīng)方法的類

? ?<select>標(biāo)簽指代sql語(yǔ)句中的select語(yǔ)句名扛,id屬性對(duì)應(yīng)接口中的方法名,parameterType接口方法中傳入?yún)?shù)的數(shù)據(jù)類型茧痒,resultType屬性指代方法所返回的類型(這里的User通過(guò)剛剛<typeAlias>來(lái)映射到相應(yīng)的類)肮韧;若當(dāng)要返回相應(yīng)集合時(shí),設(shè)置<resultMap>標(biāo)簽來(lái)得到相應(yīng)集合旺订。在<select>標(biāo)簽中設(shè)置sql語(yǔ)句操作數(shù)據(jù)庫(kù)弄企。

5.進(jìn)行具體操作

? 首先,編寫(xiě)相應(yīng)的接口区拳,路徑與映射文件對(duì)應(yīng)

? 后續(xù)步驟為:創(chuàng)建數(shù)據(jù)庫(kù)會(huì)話拘领、通過(guò)映射文件實(shí)例化相應(yīng)接口、調(diào)用相應(yīng)方法樱调、關(guān)閉會(huì)話

? 個(gè)人覺(jué)得方便约素,所以將創(chuàng)建數(shù)據(jù)庫(kù)會(huì)話編寫(xiě)成相應(yīng)的靜態(tài)方法

? 首先通過(guò)Reader類來(lái)讀入數(shù)據(jù)庫(kù)配置文件;然后建立相應(yīng)的SqlSessionFactory工廠笆凌,然后創(chuàng)建會(huì)話并返回圣猎。

? 以上,就是通過(guò)mybatis框架簡(jiǎn)單的與數(shù)據(jù)庫(kù)進(jìn)行交互的過(guò)程菩颖。


感想反思

? 通過(guò)最近實(shí)習(xí)期間样漆,因?yàn)轫?xiàng)目要求才開(kāi)始接觸mybatis框架;和以前在學(xué)校老師介紹的JDBC硬編碼相比晦闰,mybatis更為簡(jiǎn)潔并且改動(dòng)相應(yīng)的sql語(yǔ)句更為方便放祟;在性能上鳍怨,由于接觸時(shí)間不長(zhǎng),并未了解或者感受到性能上的區(qū)別跪妥。并且在項(xiàng)目期間使用mybatis框架時(shí)也遇到了相應(yīng)問(wèn)題鞋喇,當(dāng)使用xml格式數(shù)據(jù)->pojo類->寫(xiě)入數(shù)據(jù)庫(kù),寫(xiě)進(jìn)數(shù)據(jù)庫(kù)的內(nèi)容為空眉撵;可是若使用json格式則可正常寫(xiě)入侦香。

??而且本文也存在較大的局限性

? ? 1.僅記錄了通過(guò)接口的方式來(lái)操作數(shù)據(jù)庫(kù),并沒(méi)有介紹操作的其他方法纽疟。

? ? 2.并沒(méi)有介紹關(guān)聯(lián)查詢罐韩,僅介紹簡(jiǎn)單的增刪改查

? ? 3.配置文件上沒(méi)有涉及到多環(huán)境、多個(gè)數(shù)據(jù)庫(kù)時(shí)該如何配置的情況

? 最后污朽,在進(jìn)行增散吵、刪、改的事務(wù)時(shí)蟆肆,記得session.commit()矾睦!session.commit()!session.commit()炎功!


參考鏈接

wiki.jikexueyuan.com/project/mybatis-in-action/mybatis-and-spring.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末枚冗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蛇损,更是在濱河造成了極大的恐慌赁温,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件州藕,死亡現(xiàn)場(chǎng)離奇詭異束世,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)床玻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)毁涉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人锈死,你說(shuō)我怎么就攤上這事贫堰。” “怎么了待牵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵其屏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我缨该,道長(zhǎng)偎行,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蛤袒,結(jié)果婚禮上熄云,老公的妹妹穿的比我還像新娘。我一直安慰自己妙真,他們只是感情好缴允,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著珍德,像睡著了一般练般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锈候,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天薄料,我揣著相機(jī)與錄音,去河邊找鬼泵琳。 笑死都办,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的虑稼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼势木,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蛛倦!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起啦桌,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤溯壶,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后甫男,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年向叉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伪窖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡若治,死狀恐怖慨蓝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情端幼,我是刑警寧澤礼烈,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站婆跑,受9級(jí)特大地震影響此熬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一犀忱、第九天 我趴在偏房一處隱蔽的房頂上張望募谎。 院中可真熱鬧,春花似錦峡碉、人聲如沸近哟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吉执。三九已至,卻和暖如春地来,著一層夾襖步出監(jiān)牢的瞬間戳玫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工未斑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咕宿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓蜡秽,卻偏偏與公主長(zhǎng)得像府阀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芽突,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. 簡(jiǎn)介 1.1 什么是 MyBatis 试浙? MyBatis 是支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的優(yōu)秀的...
    笨鳥(niǎo)慢飛閱讀 5,429評(píng)論 0 4
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理寞蚌,服務(wù)發(fā)現(xiàn)田巴,斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • Java數(shù)據(jù)持久化之mybatis 一. mybatis簡(jiǎn)介 1.1 原始的JDBC操作: Java 通過(guò) Jav...
    小Q逛逛閱讀 4,899評(píng)論 0 16
  • 官方文檔 簡(jiǎn)介 入門(mén) XML配置 XML映射文件 動(dòng)態(tài)SQL Java API SQL語(yǔ)句構(gòu)建器 日志 一挟秤、 JD...
    拾壹北閱讀 3,541評(píng)論 0 52
  • 明明是十月艘刚,卻像寒冬一樣冷管宵。 云層變厚,路邊的法國(guó)梧桐在寒風(fēng)中簌簌的落下金黃的葉子攀甚,靜靜落在路中央形態(tài)還是那么美好...
    田舍娘閱讀 308評(píng)論 0 0