mybatis提供的foreach可以實現,foreach有3種傳值方式:array,list,map.
id注:array的寫法中collection中的值必須是array,不能寫array,會報錯的。但傳參的命名可以不是array="selectuserarr"
resultmap
="baseresultmap"
>
select
refid
="base_column_list"
/>
from user
where id in
collection
="array"
item
="id"
open
="("
separator
=","
close
=")"
>
#
listselectuserarr(int arr);
list的寫法:
id="selectuserlist"
resultmap
="baseresultmap"
>
select
refid
="base_column_list"
/>
from user
where id in
collection
="list"
item
="id"
open
="("
separator
=","
close
=")"
>
#
listselectuserlist(list list1);
map的寫法:
id="selectusermap"
resultmap
="baseresultmap"
>
select
refid
="base_column_list"
/>
from user
where id in
collection
="map1"
item
="id"
open
="("
separator
=","
close
=")"
>
#
listselectusermap(map map);
map.put("map1",map1);
int map1=;
map.put("map1"
,map1);
system.out.println("array**********===");
sys(userarray);
system.out.println("list**********===");
sys(userlist);
system.out.println("map:***************=");
sys(usermap);
public static void
sys(listlist)
}}效果如下:
array**********===user:user
user:user
user:user
user:user
list**********===
user:user
user:user
user:user
user:user
map:***************=
user:user
user:user
user:user
user:user
user:user
我的座右銘:不會,我可以學;落後,我可以追趕;跌倒,我可以站起來;我一定行。
MyBatis中的foreach迴圈
mybatis動態sql中foreach標籤的使用 foreach標籤主要用於構建in條件,他可以在sql中對集合進行迭代。如下 delete from user where id in 我們假如說引數為 int ids 那麼列印之後的sql如下 delete form user where id ...
mybatis的foreach標籤用法
foreach元素的屬性主要有 item,index,collection,open,separator,close。item表示集合中每乙個元素進行迭代時的別名,index指 定乙個名字,用於表示在迭代過程中,每次迭代到的位置,open表示該語句以什麼開始,separator表示在每次進行迭代之間...
MyBatis的foreach語句詳解
foreach的主要用在構建 in條件中,它可以在 sql語句中進行迭代乙個集合。foreach 元素的屬性主要有 item index collection open separator close item 表示集合中每乙個元素進行迭代時的別名,index 指 定乙個名字,用於表示在迭代過程中,...