IBatis之Iterate
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。
Iterate 的属性:
prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
property - 类型为 java.util.List 的用于遍历的元素(必选)
open - 整个遍历内容体开始的字符串,用于定义括号(可选)
close -整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction - 每次遍历内容之间的字符串,用于定义 AND 或 OR(可选)
遍历类型为 java.util.List的元素。
ibatis中配置in语句:
<select id="selectUserInfoByNames" parameterClass="java.util.Map" resultclass="java.util.List">
select * from users where name in
<iterate property="nameList" conjunction="," close=")" open="(" />
#nameList[]#
</iterate>
and age < #age#
</select>
生成的SQL形如:
select * from users where name in ('admin','system','manager') and age < 18;
ibatis中配置or语句:
<select id="selectUserInfoByNames" parameterClass="java.util.Map" resultClass="java.util.List">
select * from users where age < #age#
<iterate prepend="AND" property="UserNameList"open="(" close=")" conjunction="OR">username=#UserNameList[]#
</iterate>
</select>
生成的SQL形如:
select * from users where age < 20and username='admin' or username='scott' or username='root';
---------------------
作者:luckystar2008
来源:CSDN
原文:https://blog.csdn.net/qincidong/article/details/7520163
版权声明:本文为博主原创文章,转载请附上博文链接!
IBatis之Iterate相关推荐
- ibatis的iterate使用
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容. Iterate 的属性: prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可 ...
- ibatis实现Iterate的使用
<iterate property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, ...
- 使用ibatis的iterate标签实现批量插入
ibatis批量插入(使用iterate标签) 1.要注意版本是否支持foreach,我使用的版本就不支持.如果不支持,会报错,叫你必须指定foreach元素类型. 2.使用iterate的List时 ...
- Ibatis实现Iterate
<iterate property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, ...
- ibatis中iterate的用法(conjunction=or ,)
<!-- 删除相应的person记录 --> < delete id =" deletePerson " parameterClass ="m ...
- ibatis中iterate的用法(conjunction=or ,) .
<!-- 删除相应的person记录 --> < delete id =" deletePerson " parameterClass ="m ...
- Oracle model iterate,ibatis实现Iterate的使用
property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, 通 ...
- ibatis中iterate的用法(转载)
PersonDaoImp如下: /** * 删除性别为man,年龄为 11,12 的Person记录 */ public int deletePerson(Map<Str ...
- ibatis批量插入数据-iterate标签详解及应用
Sql代码 insert into tb_name(col1, col2, col3) values (col1_v, col2_v, col3_v), (col1_v, col2_v, c ...
最新文章
- C 关于页面刷新和combobox的使用
- php和python区别-php与python的区别
- [HNOI 2015]接水果
- HTTP 2.0 协议
- ADI官方源码快速搭建demo工程验证设计的正确性
- android checkbox监听另一个checkbox选中和不选中_一个真正0基础小白学习前端开发的心路历程...
- jquery-学生列表增删编辑,纯前端操作
- phoneGap技术分析
- 什么是车联网?导航?听歌?智能语音识别?事实没这么简单!
- julia 与并行计算(部分有参考和转载)
- 先来先服务、高优先权、按时间片轮转调度算法(含清晰流程图)
- 【Mac】Mac通过反向代理连接内网(教育网)服务器 + 免密登陆
- 接近中心性(Closeness Centrality)、中介中心性(Betweenness Centrality)
- 标明文献引用及文献列表自动生成(尾注交叉引用)
- 光耀卡服务器维修,3月28号服务器维护公告
- 计算机音乐卡内基大学,卡耐基梅隆大学音乐暑期课程 年轻音乐家的成功之路...
- 基于51单片机的智能大棚浇花系统设计 花盆浇水灌溉补光散热方案原理图程序
- 成长型思维和固定型思维
- 小丸子学MongoDB系列之——部署MongoDB副本集
- 为什么苹果蓝牙耳机连上还是公放_高版本AirPods无线蓝牙耳机二代、三代开团啦!...
热门文章
- python动图自动识别_这种图片可以用Python自动识别吗()
- echart图表清空上一次数据
- 循环语句中指针赋值出错
- 张高兴的 Xamarin.Android 学习笔记:(四)常用控件
- android viewpager2,viewpager2原理和使用
- SqlServer触发器使用整理
- 百度网盘私密分享自定义提取码
- 关于Gmsh使用Full_Blosson三角形合并为全四边形以及波前法、Delaunay和自适应算法测试
- 东方龙马 · 大数据应用让数据“活”起来了
- Java架构师岗位的基本职责