MyBatis中forEach实现in条件下的集合参数SQL语句
来源:互联网 发布:asp在线投稿系统 源码 编辑:程序博客网 时间:2024/05/22 16:10
项目中遇到个问题,需要将一个集合作为SQL语句的in条件进行查询,以下是代码截取,orgIdLists为一个集合。
SELECT * FROM T_SCRM_SE_BU_CLUE AS a WHERE<if test="orgIdLists != null"> a.ORG_ID IN <foreach collection="orgIdLists" item="orgId" open="(" separator="," close=")"> #{orgId} </foreach></if>
在Mybatis的xml配置中使用集合,主要是用到了foreach动态语句。
foreach的参数:
foreach元素的属性主要有 item,index,collection,open,separator,close;
item表示集合中每一个元素进行迭代时的别名;
index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置;
separator表示在每次进行迭代之间以什么符号作为分隔 符;
open表示该语句以什么开始(即是in条件后面的左括号”(”);
close表示以什么结束(即是in条件后面的右括号”)”)。
以上方法Mybatis会帮我们进行sql注入拦截,Mybatis如果采用#{xxx}的形式设置参数,Mybatis会进行sql注入的过滤。如果采用的是${xxx},Mybatis不会进行sql注入过滤,而是直接将参入的内容输出为sql语句。
下面是另一种用法,批量插入某表:
INSERT INTO T_SCRM_SE_BU_CLUE(orgId,shortName) VALUES<if test="orgIdLists != null"> <foreach collection="orgIdLists" item="orgId" index="index" separator=","> (#{orgId.orgId},#{orgId.shortName}) </foreach></if>
阅读全文
0 0
- MyBatis中forEach实现in条件下的集合参数SQL语句
- MyBatis的foreach语句详解 常用于sql in("","","","")
- mybatis使用foreach语句实现IN查询
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- Mybatis 参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- MyBatis参数传入集合之foreach动态sql
- 2018第二十二届中国(上海)国际医疗器械展览会
- 编写函数,已知三角形三边长,求三角形面积
- Dubbo入门---搭建一个最简单的Demo框架
- mongodb添加zabbix监控UserParameter
- 25.Struts2_CRUD操作(3)使用拦截器之后的效果
- MyBatis中forEach实现in条件下的集合参数SQL语句
- Qualcomm的神经处理引擎 (一)
- ORB_SLAM软件包的安装及简单测试
- XCode中如何使用宏
- Android PowerImageView实现,可以播放动画的强大ImageView
- POI学习很好的网站
- mybatis逆向工程与sqlserver数据库的关系
- Linux 下修改php web上传文件大小
- Java异常之自定义异常