Mybatis动态SQL foreach标签用法实例
需求:传入多个id查询用户信息,用下边两个sql实现:
SELECT*FROMUSERSWHEREusernameLIKE'%张%'AND(id=10ORid=89ORid=16)
SELECT*FROMUSERSWHEREusernameLIKE'%张%'ANDidIN(10,89,16)
这样我们在进行范围查询时,就要将一个集合中的值,作为参数动态添加进来。
这样我们将如何进行参数的传递?
1、实体类
publicclassQueryVoimplementsSerializable{ privateListids; publicList getIds(){ returnids; } publicvoidsetIds(List ids){ this.ids=ids; } }
2、持久层接口
/**
*根据id集合查询用户
*@paramvo
*@return
*/
ListfindInIds(QueryVovo);
3、映射文件
select*fromuser 0"> #{uid}
SQL语句:
select字段fromuserwhereidin(?)
foreach标签用于遍历集合,它的属性
- collection:代表要遍历的集合元素,注意编写时不要写#{}
- open:代表语句的开始部分
- close:代表结束部分
- item:代表遍历集合的每个元素,生成的变量名
- sperator:代表分隔符
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。