`
peonyzzdx
  • 浏览: 591955 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis的iterate使用

阅读更多
Iterate:这属性遍历整个集合
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的写法

eg-1:
<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>

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

eg-3
<sql id="sql_where">
from idleYouths iy,idleYouthsHasPropertyDicts  hDicts
where 1=1 and    iy.id = hDicts.Idleyouthsid  
<dynamic>
<isNotNull property="staffTypeIds" prepend=" and ">
hDicts.PROPERTYDICTID in
<iterate property="staffTypeIds" close=")"   open="("   conjunction="," >  
#staffTypeIds[]#
</iterate>

</isNotNull>
</dynamic>
</sql>

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

相关推荐

    ibatis中iterate的例子

    在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`&lt;iterate&gt;`标签的用法及其示例。 `&lt;iterate&gt;`标签的主要...

    ibatis标签

    至于压缩包中的DE_iBATIS-SqlMaps-2_cn.pdf文件,这可能是一份关于iBATIS SqlMaps的中文文档,可能包含了对`&lt;iterate&gt;`标签的详细解释,包括其语法、使用场景、示例以及注意事项等内容。这份文档对于学习和理解...

    ibatis list

    ### iBatis批量操作:`&lt;iterate&gt;`标签的使用 `&lt;iterate&gt;`标签是iBatis中用于循环遍历集合的一种机制,它允许你在SQL语句中动态生成参数列表,这对于批量操作(如批量插入、更新或删除)尤为重要。该标签支持多种...

    ibatis批量处理

    ### iBatis批量处理知识点详解 #### 一、iBatis基本实现 iBatis(现已更名为MyBatis)是一...此外,合理选择不同的实现方式(如直接使用iBatis API、基于Spring事务管理或使用回调方式),可以使程序更加灵活、高效。

    ibatis批量存储

    本文将深入探讨“ibatis批量存储”这一主题,基于给定的文件名,我们将依次解析Ibatis中的iterate标签、批处理、foreach标签以及如何在Ibatis中使用HashMap。 1. Iterate标签详解及应用: Ibatis的iterate标签主要...

    ibatis批处理

    在iBatis配置文件中,使用`&lt;iterate&gt;`标签遍历`appDevIds`数组,形成IN条件语句。 **2.2 情况二:多个输入参数循环次数是对称的** 当输入参数的循环次数与操作的次数相匹配时,可以创建一个HashMap,将参数名作为...

    常用ibatis配置

    在文档中,展示了如何使用&lt;iterate&gt;标签来生成IN子句,以便于将一个集合中的值动态地插入到SQL语句中。 7. 截止日期:在业务逻辑中,常常需要查询截止到某个特定日期或时间点的数据。iBatis配置允许使用动态SQL标签...

    iBATIS实战

    3.4.1 在独立应用程序中使用iBATIS 50 3.4.2 在Web应用程序中使用iBATIS 50 3.5 iBATIS和JDBC 51 3.5.1 释放JDBC资源 51 3.5.2 SQL注入 51 3.5.3 降低复杂度 52 3.6 配置iBATIS(续) 53 3.6.1 SQL Map配置文件 54 ...

    Ibatis资料ibatai sql map iBATIS使用$和#的一些理解

    为了避免这种情况,我们可以使用iBATIS的`iterate`标签来遍历列表: ```xml select * from sys_road_line_info where road_line_no in &lt;iterate open="(" close=")" conjunction=","&gt; #value[]# &lt;/iterate&gt; `...

    ibatis常用sql语句

    在iBATIS中,当输入参数为单个值时,如示例中的`long`类型,可以使用`&lt;delete&gt;`标签结合`#value#`占位符来构建SQL语句。这里的`#value#`会被实际的参数值替换,从而执行具体的数据库删除操作。这种简单的参数绑定...

    Ibatis查询Id列表.doc

    文档标题与描述均为“Ibatis查询Id列表.doc”,这表明文档内容主要聚焦于如何使用Ibatis查询ID列表。ID列表在实际应用中通常用于获取一系列记录的主键值,以便后续进行更复杂的操作或查询。 ### 三、查询Id列表的...

    ibatis16个常用sql语句

    在iBatis中,删除语句可以使用`&lt;delete&gt;`元素。例如: ```xml delete from MemberAccessLog where accessTimestamp = #value# ``` 上面的语句将删除`MemberAccessLog`表中满足条件`accessTimestamp = #value#`的...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用...Ibatis通过其动态SQL标签如`iterate`, `isNotNull`, `dynamic`等提供了极高的灵活性,能够有效应对复杂多变的业务需求。掌握这些基本用法对于提升Ibatis开发效率至关重要。

    Ibatis复杂查询语句.doc

    在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...

    iBATIS动态标签

    iBATIS动态标签是SQL映射文件中的一种功能强大的特性,它允许在SQL语句中进行条件判断,根据传入的参数动态生成合适的查询条件。动态标签主要用于提高灵活性,使得SQL映射文件能够适应多种查询场景,而无需为每种...

    iBatis的动态SQL语句

    需要注意的是,在使用`&lt;iterate&gt;`标签时,如果集合中的元素类型为List,那么需要使用`[]`来获取每个元素。 #### 三、总结 iBatis提供的动态SQL功能极大地方便了开发者根据业务逻辑灵活构建SQL语句。通过对上述各种...

    ibatis_3.0_Dynamic_Sql_设计解析(并与2.x的差异)

    在ibatis 2.x中,Dynamic Sql的配置较为繁琐,需要使用特定的标签如`&lt;isNotNull&gt;`、`&lt;iterate&gt;`等来构建动态部分。例如,为了根据参数是否为空来决定是否包含某个条件,需要使用`&lt;isNotNull&gt;`标签,而对于集合参数的...

    ibatis批量删除的方法.docx

    在使用iBatis进行数据操作时,批量删除是常见的需求之一。iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,提供了灵活的映射机制,使得Java对象与数据库之间的交互更加便捷。在iBatis中...

    ibatis资料

    Ibatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在Ibatis中,动态查询是其核心特性之一,它允许我们根据业务需求构建灵活...

    iBatis操作

    3. **使用Spring框架**:集成iBatis,通过Spring管理事务。 #### 三、配置文件 在iBatis中,批量操作可以通过XML映射文件来定义,下面分别展示批量插入、更新和删除的示例。 ##### 批量插入 ```xml insert all ...

Global site tag (gtag.js) - Google Analytics