Mybatis动态SQL foreach标签用法实例

网友投稿 486 2022-11-15


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 List ids;

public List getIds() {

return ids;

}

public void setIds(List ids) {

this.ids = ids;

}

}

2、持久层接口

/**

* 根据 id 集合查询用户

* @param vo

* @return

*/

List findInIds(QueryVo vo);

3、映射文件

select * from user

#{uid}

SQL 语句:

select 字段 from user where id in (?)

foreach标签用于遍历集合,它的属性

collection:代表要遍历的集合元素,注意编写时不要写#{}

open:代表语句的开始部分

close:代表结束部分

item:代表遍历集合的每个元素,生成的变量名

sperator:代表分隔符


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringCloud Alibaba Seata (收藏版)
下一篇:Spring Boot 整合 MongoDB的示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~