Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。 
Iterate 的属性: 
      prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选) 
      property  - 类型为 java.util.List 的用于遍历的元素(必选) 
      open  -  整个遍历内容体开始的字符串,用于定义括号(可选) 
      close  -整个遍历内容体结束的字符串,用于定义括号(可选) 
      conjunction -  每次遍历内容之间的字符串,用于定义 AND 或 OR(可选) 
      遍历类型为 java.util.List的元素。

例子: 
<iterate prepend=”AND” property=”userNameList” 
open=”(” close=”)” conjunction=”OR”> 
username=#userNameList[]# 
</iterate>

ibatis中如何配置in语句,需要迭代,不能直接用string的写法
<select id="sql_test" parameterclass="myPramBean" resultclass="myResult">
select *from tablewhere name in 
<iterate property="ids" conjunction="," close=")" open="(" /> 
#value[]# 
</iterate>
and code=#code#
</select>
myPramBean
{
private String code;
private List ids;
...
}

eg:
<delete id="member.batchDelete" parameterClass="java.util.List">
      DELETE FROM member where id IN
      <iterate conjunction="," open="(" close=")" >
          #value[]# 
      </iterate>
</delete>

注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将
对象标记为List,以防解析器简单地将List输出成String。

posted on 2010-02-02 15:49 飞熊 阅读(20034) 评论(3)  编辑  收藏 所属分类: Ibatis

转载于:https://www.cnblogs.com/Struts-pring/p/5127500.html

ibatis的iterate使用相关推荐

  1. ibatis实现Iterate的使用

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

  2. IBatis之Iterate

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

  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. 【组队学习】【29期】9. 基于transformers的自然语言处理(NLP)入门
  2. DXUT框架剖析(12)
  3. python基础笔记(非系统/自用/参考小甲鱼的零基础入门学习python)下
  4. leetcode -- 3.无重复字符的最长子串
  5. java线索二叉树的实现_JAVA递归实现线索化二叉树
  6. iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例...
  7. C++学习系列笔记(七)
  8. html页面手机端console,vue项目以及独立HTML项目在手机端查看控制台日志 vconsole
  9. opencv-api approxPolyDP
  10. Android开发笔记(四十二)Broadcast的生命周期
  11. loinc编码_通用检验编码系统(Universal Laboratory Test Code System)于香港电子健康纪录计划的应用...
  12. [经验]自定义ASP.NET服务器控件属性的状态不能保存的问题
  13. 通过css实现按钮高亮
  14. Android 百度地图api 问题 汇总
  15. python 千位分隔符_千位分隔符的完整攻略
  16. 6 款免费网络延迟测试工具-从事网络行业必备
  17. 关于金融危机下的亮剑精神!
  18. AiDD AI+软件研发数字峰会开启编程新纪元
  19. 牛津3000词汇表(The Oxford 3000™)
  20. Linux用户空间线程管理介绍之二:创建线程堆栈

热门文章

  1. Linux 下监控系统几个重要组件
  2. Linux命令学习笔记之一目录与文件基本操作
  3. opencv 摄像头
  4. 从市场的角度来看技术的学习
  5. android:scaleType的各个属性解释
  6. Android Listview 点击item变黄色
  7. iReport中序号自增的实现
  8. SQL 难点解决:循环计算
  9. MySQL—通过Adjacency List(邻接表)存储树形结构
  10. 探讨8.0版本下后台service存活机制及保活