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