`
- 浏览:
591955 次
- 性别:
- 来自:
杭州
-
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。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在iBatis中,`<iterate>`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`<iterate>`标签的用法及其示例。 `<iterate>`标签的主要...
至于压缩包中的DE_iBATIS-SqlMaps-2_cn.pdf文件,这可能是一份关于iBATIS SqlMaps的中文文档,可能包含了对`<iterate>`标签的详细解释,包括其语法、使用场景、示例以及注意事项等内容。这份文档对于学习和理解...
### iBatis批量操作:`<iterate>`标签的使用 `<iterate>`标签是iBatis中用于循环遍历集合的一种机制,它允许你在SQL语句中动态生成参数列表,这对于批量操作(如批量插入、更新或删除)尤为重要。该标签支持多种...
### iBatis批量处理知识点详解 #### 一、iBatis基本实现 iBatis(现已更名为MyBatis)是一...此外,合理选择不同的实现方式(如直接使用iBatis API、基于Spring事务管理或使用回调方式),可以使程序更加灵活、高效。
本文将深入探讨“ibatis批量存储”这一主题,基于给定的文件名,我们将依次解析Ibatis中的iterate标签、批处理、foreach标签以及如何在Ibatis中使用HashMap。 1. Iterate标签详解及应用: Ibatis的iterate标签主要...
在iBatis配置文件中,使用`<iterate>`标签遍历`appDevIds`数组,形成IN条件语句。 **2.2 情况二:多个输入参数循环次数是对称的** 当输入参数的循环次数与操作的次数相匹配时,可以创建一个HashMap,将参数名作为...
在文档中,展示了如何使用<iterate>标签来生成IN子句,以便于将一个集合中的值动态地插入到SQL语句中。 7. 截止日期:在业务逻辑中,常常需要查询截止到某个特定日期或时间点的数据。iBatis配置允许使用动态SQL标签...
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的`iterate`标签来遍历列表: ```xml select * from sys_road_line_info where road_line_no in <iterate open="(" close=")" conjunction=","> #value[]# </iterate> `...
在iBATIS中,当输入参数为单个值时,如示例中的`long`类型,可以使用`<delete>`标签结合`#value#`占位符来构建SQL语句。这里的`#value#`会被实际的参数值替换,从而执行具体的数据库删除操作。这种简单的参数绑定...
文档标题与描述均为“Ibatis查询Id列表.doc”,这表明文档内容主要聚焦于如何使用Ibatis查询ID列表。ID列表在实际应用中通常用于获取一系列记录的主键值,以便后续进行更复杂的操作或查询。 ### 三、查询Id列表的...
在iBatis中,删除语句可以使用`<delete>`元素。例如: ```xml delete from MemberAccessLog where accessTimestamp = #value# ``` 上面的语句将删除`MemberAccessLog`表中满足条件`accessTimestamp = #value#`的...
根据给定的文件信息,以下是对“Ibatis常用...Ibatis通过其动态SQL标签如`iterate`, `isNotNull`, `dynamic`等提供了极高的灵活性,能够有效应对复杂多变的业务需求。掌握这些基本用法对于提升Ibatis开发效率至关重要。
在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...
iBATIS动态标签是SQL映射文件中的一种功能强大的特性,它允许在SQL语句中进行条件判断,根据传入的参数动态生成合适的查询条件。动态标签主要用于提高灵活性,使得SQL映射文件能够适应多种查询场景,而无需为每种...
需要注意的是,在使用`<iterate>`标签时,如果集合中的元素类型为List,那么需要使用`[]`来获取每个元素。 #### 三、总结 iBatis提供的动态SQL功能极大地方便了开发者根据业务逻辑灵活构建SQL语句。通过对上述各种...
在ibatis 2.x中,Dynamic Sql的配置较为繁琐,需要使用特定的标签如`<isNotNull>`、`<iterate>`等来构建动态部分。例如,为了根据参数是否为空来决定是否包含某个条件,需要使用`<isNotNull>`标签,而对于集合参数的...
在使用iBatis进行数据操作时,批量删除是常见的需求之一。iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,提供了灵活的映射机制,使得Java对象与数据库之间的交互更加便捷。在iBatis中...
Ibatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在Ibatis中,动态查询是其核心特性之一,它允许我们根据业务需求构建灵活...
3. **使用Spring框架**:集成iBatis,通过Spring管理事务。 #### 三、配置文件 在iBatis中,批量操作可以通过XML映射文件来定义,下面分别展示批量插入、更新和删除的示例。 ##### 批量插入 ```xml insert all ...