mybatis批量操作中標籤的使用

2021-08-03 07:40:17 字數 1406 閱讀 4114

mybatis使用,在進行批量操作時可以通過標籤,對傳入的集合引數進行遍歷。

一、foreach標籤使用:

1.批量更新

dao層設定傳入引數,與遍歷的引數名保持一致:

integer batchupdate(@param("

stulist") liststulist);

stulist"  item="stu" separator="  " >

update student

set 

name = #, 

score = #

where id = # ;

2.批量查詢,通常使用foreach構建in語句,實現批量查詢(見

id=

"selectpostin"

resulttype

="domain.blog.post"

>

select *

from post p

where id in

item

="item"

index

="index"

collection

="list"

open

="("

separator

=","

close

=")"

>#

二、標籤元素詳解

foreach元素的屬性主要有 item,index,collection,open,separator,close。

item表示集合中每乙個元素進行迭代時的別名,

index指 定乙個名字,用於表示在迭代過程中,每次迭代到的位置,

(使用map時,index屬性值為map中的key的值)

open表示該語句以什麼開始,

separator表示在每次進行迭代之間以什麼符號作為分隔 符,

close表示以什麼結束。

三、collection的選擇

在使用foreach的時候最關鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況:

1. 如果傳入的是單引數且引數型別是乙個list的時候,collection屬性值為list

2. 如果傳入的是單引數且引數型別是乙個array陣列的時候,collection的屬性值為array

3. 如果傳入的引數是多個的時候,我們就需要把它們封裝成乙個map了,當然單引數也可

以封裝成map

mybatis中標籤的作用

mybatis中sql標籤定義sql片段,include標籤引用,可以復用sql片段 sql標籤中id屬性對應include標籤中的refid屬性。通過include標籤將sql片段和原sql片段進行拼接成乙個完整的sql語句進行執行。res type id,res type sql select ...

mybatis中標籤的作用

mybatis中sql標籤定義sql片段,include標籤引用,可以復用sql片段 sql標籤中id屬性對應include標籤中的refid屬性。通過include標籤將sql片段和原sql片段進行拼接成乙個完整的sql語句進行執行。res type id,res type sql select ...

mybatis中標籤在Mysql中的使用

mybatis中標籤在 mysql 中的使用 foreach屬性 屬性描述 item 迴圈體中的具體物件。支援屬性的點路徑訪問,如item.age,item.info.details。具體說明 在list和陣列中是其中的物件,在map中是value。該引數為必選。collection 要做forea...