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相关推荐

  1. ibatis的iterate使用

    Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容.  Iterate 的属性:       prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可 ...

  2. ibatis实现Iterate的使用

    <iterate property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, ...

  3. 使用ibatis的iterate标签实现批量插入

    ibatis批量插入(使用iterate标签) 1.要注意版本是否支持foreach,我使用的版本就不支持.如果不支持,会报错,叫你必须指定foreach元素类型. 2.使用iterate的List时 ...

  4. Ibatis实现Iterate

    <iterate property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, ...

  5. ibatis中iterate的用法(conjunction=or ,)

    <!-- 删除相应的person记录  -->   < delete  id =" deletePerson "  parameterClass ="m ...

  6. ibatis中iterate的用法(conjunction=or ,) .

    <!-- 删除相应的person记录  -->   < delete  id =" deletePerson "  parameterClass ="m ...

  7. Oracle model iterate,ibatis实现Iterate的使用

    property=""   /*可选,   从传入的参数集合中使用属性名去获取值,   这个必须是一个List类型,   否则会出现OutofRangeException,   通 ...

  8. ibatis中iterate的用法(转载)

    PersonDaoImp如下:   /**     * 删除性别为man,年龄为 11,12 的Person记录     */   public int deletePerson(Map<Str ...

  9. ibatis批量插入数据-iterate标签详解及应用

     Sql代码   insert into tb_name(col1, col2, col3) values (col1_v, col2_v, col3_v), (col1_v, col2_v, c ...

最新文章

  1. C 关于页面刷新和combobox的使用
  2. php和python区别-php与python的区别
  3. [HNOI 2015]接水果
  4. HTTP 2.0 协议
  5. ADI官方源码快速搭建demo工程验证设计的正确性
  6. android checkbox监听另一个checkbox选中和不选中_一个真正0基础小白学习前端开发的心路历程...
  7. jquery-学生列表增删编辑,纯前端操作
  8. phoneGap技术分析
  9. 什么是车联网?导航?听歌?智能语音识别?事实没这么简单!
  10. julia 与并行计算(部分有参考和转载)
  11. 先来先服务、高优先权、按时间片轮转调度算法(含清晰流程图)
  12. 【Mac】Mac通过反向代理连接内网(教育网)服务器 + 免密登陆
  13. 接近中心性(Closeness Centrality)、中介中心性(Betweenness Centrality)
  14. 标明文献引用及文献列表自动生成(尾注交叉引用)
  15. 光耀卡服务器维修,3月28号服务器维护公告
  16. 计算机音乐卡内基大学,卡耐基梅隆大学音乐暑期课程 年轻音乐家的成功之路...
  17. 基于51单片机的智能大棚浇花系统设计 花盆浇水灌溉补光散热方案原理图程序
  18. 成长型思维和固定型思维
  19. 小丸子学MongoDB系列之——部署MongoDB副本集
  20. 为什么苹果蓝牙耳机连上还是公放_高版本AirPods无线蓝牙耳机二代、三代开团啦!...

热门文章

  1. python动图自动识别_这种图片可以用Python自动识别吗()
  2. echart图表清空上一次数据
  3. 循环语句中指针赋值出错
  4. 张高兴的 Xamarin.Android 学习笔记:(四)常用控件
  5. android viewpager2,viewpager2原理和使用
  6. SqlServer触发器使用整理
  7. 百度网盘私密分享自定义提取码
  8. 关于Gmsh使用Full_Blosson三角形合并为全四边形以及波前法、Delaunay和自适应算法测试
  9. 东方龙马 · 大数据应用让数据“活”起来了
  10. Java架构师岗位的基本职责