这篇文章主要介绍了Mybatis动态SQL foreach标签用法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
需求:传入多个 id 查询用户信息,用下边两个 sql 实现:
SELECT * FROM USERS WHERE username LIKE '%张%' AND (id =10 OR id =89 OR id=16)
SELECT * FROM USERS WHERE username LIKE '%张%' AND id IN (10,89,16)
这样我们在进行范围查询时,就要将一个集合中的值,作为参数动态添加进来。
这样我们将如何进行参数的传递?
1、实体类
public class QueryVo implements Serializable { private Listids; public List getIds() { return ids; } public void setIds(List ids) { this.ids = ids; } }
2、持久层接口
/**
* 根据 id 集合查询用户
* @param vo
* @return
*/
ListfindInIds(QueryVo vo);
3、映射文件
SQL 语句:
select 字段 from user where id in (?)
foreach标签用于遍历集合,它的属性
- collection:代表要遍历的集合元素,注意编写时不要写#{}
- open:代表语句的开始部分
- close:代表结束部分
- item:代表遍历集合的每个元素,生成的变量名
- sperator:代表分隔符
以上就是Mybatis动态SQL foreach标签用法实例的详细内容,更多请关注0133技术站其它相关文章!