foreach 的主要用在構建in條件中,它可以在sql語句中進行迭代乙個集合。
foreach 元素的屬性主要有 item,index,collection,open,separator,close。
在使用 foreach 的時候最關鍵的也是最容易出錯的就是 collection 屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況:
如果傳入的是單引數且引數型別是乙個list的時候,collection 屬性值為 list
如果傳入的是單引數且引數型別是乙個 array 陣列的時候,collection 的屬性值為 array
如果傳入的引數是多個的時候,我們就需要把它們封裝成乙個 map 了,當然單引數也可以封裝成map,實際上如果你在傳入引數的時候,在 breast 裡面也是會把它封裝成乙個 map 的,map 的 key 就是引數名,所以這個時候 collection 屬性值就是傳入的 list 或 array 物件在自己封裝的 map 裡面的 key 。
下面分別來看看上述三種情況的示例**:
1.單引數 list 的型別:
123456
select * from t_blog where id in
#foreach>
select>
1
public listdynamicforeachtest(listids);測試**:
1232.單引數array陣列的型別:4567
891011
1213
123456
select * from t_blog where id in
#foreach>
select>
1
public listdynamicforeach2test(int ids);對應的測試**:
1233.自己把引數封裝成map的型別4567
8910
123456
select * from t_blog where title like "%"#"%" and id in
#foreach>
select>
1
public listdynamicforeach3test(mapparams);對應測試**:
1234567
891011
1213
1415
1617
1819
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 指 定乙個名字,用於表示在迭代過程中,...