mybatis學(xué)習(xí)總結(jié)——入門基礎(chǔ)

一痢虹、mybatis簡(jiǎn)介

?MyBatis 是支持普通 SQL 查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架歧寺。MyBatis 消除了幾乎所有的 JDBC 代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索锅锨。

? ? 1撒穷、 簡(jiǎn)化JDBC的開發(fā)

? ? 2竭鞍、 能夠更好的完成ORM(對(duì)象關(guān)系映射)

二板惑、mybatis原理

1、通過sqlMapConfig.xml配置開發(fā)環(huán)境偎快、事務(wù)配置文件等

2冯乘、通過映射文件UserMapper.xml,將實(shí)體類與數(shù)據(jù)庫表字段相關(guān)聯(lián)

3晒夹、創(chuàng)建SqlSessionFactory 裆馒,加載sqlMapConfig.xml文件

4姊氓、創(chuàng)建SqlSession,操作實(shí)體類

三、入門準(zhǔn)備

1喷好、創(chuàng)建user表

CREATE TABLE user(

id INT PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(255),

addrses VARCHAR(255),

age INT

)

INSERT INTO `user` VALUES(NULL, '劉一','北京',28);

INSERT INTO `user` VALUES(NULL, '陳二','上海',32);

INSERT INTO `user` VALUES(NULL, '張三','廣州',26);

?2翔横、創(chuàng)建maven工程mybatis

配置pom.xml文件,引入mybatis所用的依賴包

<dependencies>

<!--添加mysql驅(qū)動(dòng)程序依賴 -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.40</version>

</dependency>

<!--添加junit依賴 -->

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.11</version>

</dependency>

<!--添加mybatis核心依賴 -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.2.8</version>

</dependency>

<!--添加日志包依賴 -->

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.17</version>

</dependency>

</dependencies>

四梗搅、入門案例

1禾唁、在/mybatis/src/main/resources目錄下創(chuàng)建sqlMapConfig.xml文件


2、在/mybatis/src/main/resources/mapper目錄下配置UserMapper.xml文件


3无切、在/mybatis/src/main/java/mybatis/day01/pojo目錄下創(chuàng)建User實(shí)體類


4荡短、在/mybatis/src/test/java/day01目錄下創(chuàng)建Test1.java測(cè)試類


五、項(xiàng)目目錄



六订雾、映射文件常用標(biāo)簽

1肢预、查詢語句

????<select id="" resultType="" parameterType=""></select>

? ?1)id 為sql的唯一標(biāo)識(shí)

????2)resultType為sql返回值類型

? ? 3)parameterType為sql傳參類型

? ? 注意:屬性名和類名必須一致才能完成映射

2、插入語句

? ? <insert id="" parameterType=""></insert>

3洼哎、更新語句

? ? <update id="" parameterType=""></update>

4烫映、刪除語句

? ? <delete id="" parameterType></delete>

七、擴(kuò)展

1噩峦、別名

????為簡(jiǎn)化開發(fā)锭沟,可以在sqlMapConfig.xml文件中使用typeAliases為需要映射的實(shí)體類全路徑設(shè)置包名

? ????????????????????????????????????????????????????????????????????????????????????????????????????????sqlMapConfig.xml

? ??

????????????????????????????????????????????????????????????????????????????????????????????????????????UserMapperConfig.xml


2、特殊字符

? ? ? xml文件的特殊字符需要用<![CDATA[]]>包起來
? ? ? 如 id < 2 需要寫成?

????????<![CDATA[

? ? ? ? ? ? id < 2

????????]]>

3识补、${} 與 #{}區(qū)別

? ? 推薦使用#{}族淮,原因:${}執(zhí)行底層是Statement ,有sql注入風(fēng)險(xiǎn)凭涂,#{}執(zhí)行底層是PreparedStatement?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末祝辣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子切油,更是在濱河造成了極大的恐慌蝙斜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澎胡,死亡現(xiàn)場(chǎng)離奇詭異孕荠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)攻谁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門稚伍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人戚宦,你說我怎么就攤上這事个曙。” “怎么了受楼?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵困檩,是天一觀的道長(zhǎng)祠挫。 經(jīng)常有香客問我,道長(zhǎng)悼沿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任骚灸,我火速辦了婚禮糟趾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘澳眷。我一直安慰自己哥捕,他們只是感情好迂尝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著非驮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雏赦。 梳的紋絲不亂的頭發(fā)上劫笙,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音星岗,去河邊找鬼填大。 笑死,一個(gè)胖子當(dāng)著我的面吹牛俏橘,可吹牛的內(nèi)容都是我干的允华。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寥掐,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼靴寂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起召耘,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤百炬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后怎茫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體收壕,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年轨蛤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜜宪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡祥山,死狀恐怖圃验,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缝呕,我是刑警寧澤澳窑,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布斧散,位于F島的核電站,受9級(jí)特大地震影響摊聋,放射性物質(zhì)發(fā)生泄漏鸡捐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一麻裁、第九天 我趴在偏房一處隱蔽的房頂上張望箍镜。 院中可真熱鬧,春花似錦煎源、人聲如沸色迂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歇僧。三九已至,卻和暖如春锋拖,著一層夾襖步出監(jiān)牢的瞬間诈悍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工姑隅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留写隶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓讲仰,卻偏偏與公主長(zhǎng)得像慕趴,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鄙陡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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