天天看點

【MyBatis架構】mapper配置檔案-foreach标簽

foreach标簽

下面介紹一下一個mapper配置檔案中的foreach标簽(注意,要跟着前面的總結來看,這裡使用的例子是結合前面的工程寫的,大部分代碼沒有再贅述)

foreach的作用是向sql傳遞數組或list,mybatis使用foreach解析

1.1需求

在使用者查詢清單和查詢總數的statement中增加多個id輸入查詢。

sql語句如下:

兩種方法:

select * from user where id=1 or id=3 or id=5

select * from user where id in(1,3,5)

1.2在輸入參數類型中添加list<integer> ids傳入多個id

public class userqueryvo {

//傳入多個id

private list<integer> ids;

public list<integer> getids() {

return ids;

}

public void setids(list<integer> ids) {

this.ids = ids;

......

1.3修改mapper.xml

where id=1 or id=3 or id=5

在查詢條件中,查詢條件定義成一個sql片段,需要修改sql片段。

在mapper接口類中添加相應方法:

1.4測試代碼

測試結果:

1:張三

3:劉莉莉

5:劉三姐

日志輸出:

可以看到,sql語句select * from user where ( id=? or id=? or id=? ) 通過foreach輸出成功

1.5另外一個sql的實作:

轉載請注明出處:http://blog.csdn.net/acmman/article/details/46581375