mybatis xml foreach 標(biāo)簽富岳?就這么簡(jiǎn)單

MyBatis 中蛔糯,foreach 標(biāo)簽可用于批量插入記錄,當(dāng)然窖式,批量插入的方式有很多蚁飒,本篇文章主要講解在 mapper 文件中,使用 foreach 標(biāo)簽批量插入脖镀。

collection(必選)

collection 屬性是 foreach 標(biāo)簽中最復(fù)雜的一個(gè)屬性,不過別慌狼电,我們今天就要把它捋直了蜒灰。首先我們需要明白,mybatis 在使用 foreach 標(biāo)簽批量插入數(shù)據(jù)時(shí)肩碟,會(huì)將 DAO 方法中參數(shù)封裝成 Map 類型强窖,然后在 collection 屬性中,指定批量數(shù)據(jù)源所在 Map 中的 key削祈,通這個(gè) key 拿到批量數(shù)據(jù)源翅溺。到這里我們明白了脑漫,其實(shí) collection 屬性就是 key 嘛 -_-。明白了這個(gè)咙崎,我們?cè)偕钊?/p>

  1. 如果只有一個(gè)參數(shù)
    • 參數(shù)類型是 「List」:key 默認(rèn)為 list 或 collection优幸,如果要修改這個(gè)默認(rèn)名,用 @Param 注解即可
    • 參數(shù)類型是 「數(shù)組」:key 默認(rèn)為 array褪猛,修改默認(rèn)名同 List
    • 參數(shù)類型是 「Map」: 很遺憾网杆,單個(gè)參數(shù)時(shí)將因取不到值而異常,但多個(gè)參數(shù)時(shí)可以用此類型
    • 參數(shù)類型是 「對(duì)象」:key 需要指定對(duì)象中類型為「List」或「數(shù)組」的屬性伊滋,且這個(gè)屬性必須有 get 方法
  2. 如果有多個(gè)參數(shù)
    • key 默認(rèn)為參數(shù)名碳却,取的是什么名就是什么;同時(shí)笑旺,mybatis 也會(huì)按參數(shù)順序昼浦,為每個(gè)參數(shù)默認(rèn)生成名為 param1,param2,... 的 key,不過很少用
    • 批量數(shù)據(jù)源類型可以是 List筒主、數(shù)組关噪、Map。如果是 Map物舒,值可以放對(duì)象或另一個(gè) Map色洞,整出一些復(fù)雜插入

item(必選)

每一個(gè)元素進(jìn)行迭代時(shí)的別名,可以隨便取

index(可選)

  • 參數(shù)類型是 List 或 數(shù)組: 值為每次迭代到的下標(biāo)位置
  • 參數(shù)類型是 Map:值為 key
  • 名字隨便取

separator(可選)

表示在每一次進(jìn)行迭代之間以什么符號(hào)作為分隔符

open(可選)

整個(gè)循環(huán)完成時(shí)冠胯,遍歷出的所有結(jié)果拼接一個(gè)開始的字符火诸,而不是每一次

close(可選)

同 open,只是在結(jié)束位置

其它

  • mybatis 插入成功后返回的是本次插入的總條數(shù)荠察,而不是成功與否的狀態(tài)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末置蜀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子悉盆,更是在濱河造成了極大的恐慌盯荤,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焕盟,死亡現(xiàn)場(chǎng)離奇詭異秋秤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)脚翘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門灼卢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人来农,你說我怎么就攤上這事鞋真。” “怎么了沃于?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵涩咖,是天一觀的道長(zhǎng)海诲。 經(jīng)常有香客問我,道長(zhǎng)檩互,這世上最難降的妖魔是什么特幔? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮盾似,結(jié)果婚禮上敬辣,老公的妹妹穿的比我還像新娘。我一直安慰自己零院,他們只是感情好溉跃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著告抄,像睡著了一般撰茎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上打洼,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天龄糊,我揣著相機(jī)與錄音,去河邊找鬼募疮。 笑死炫惩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的阿浓。 我是一名探鬼主播他嚷,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼芭毙!你這毒婦竟也來了筋蓖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤退敦,失蹤者是張志新(化名)和其女友劉穎粘咖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侈百,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓮下,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钝域。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讽坏。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖网梢,靈堂內(nèi)的尸體忽然破棺而出震缭,到底是詐尸還是另有隱情赂毯,我是刑警寧澤战虏,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布拣宰,位于F島的核電站,受9級(jí)特大地震影響烦感,放射性物質(zhì)發(fā)生泄漏巡社。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一手趣、第九天 我趴在偏房一處隱蔽的房頂上張望晌该。 院中可真熱鬧,春花似錦绿渣、人聲如沸朝群。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽姜胖。三九已至,卻和暖如春淀散,著一層夾襖步出監(jiān)牢的瞬間右莱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工档插, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留慢蜓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓郭膛,卻偏偏與公主長(zhǎng)得像晨抡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饲鄙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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