ibatis的iterate使用
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。
Iterate 的属性:
prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
property - 类型为 java.util.List 的用于遍历的元素(必选)
open - 整个遍历内容体开始的字符串,用于定义括号(可选)
close -整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction - 每次遍历内容之间的字符串,用于定义 AND 或 OR(可选)
遍历类型为 java.util.List的元素。
例子:
ibatis中如何配置in语句,需要迭代,不能直接用string的写法
注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将
对象标记为List,以防解析器简单地将List输出成String。
posted on 2010-02-02 15:49 飞熊 阅读(9143) 评论(1) 编辑 收藏 所属分类: Ibatis
评论
# re: ibatis的iterate使用 2011-10-06 01:10 wiky
ibatis中如何配置in语句,需要迭代,不能直接用string的写法
#value[]# 要改成#ids[]# 才行
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 飞熊 阅读(9143) 评论(1) 编辑 收藏 所属分类: Ibatis
评论
# re: ibatis的iterate使用 2011-10-06 01:10 wiky
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>
#value[]# 要改成#ids[]# 才行
发表评论
-
Spring MVC Controller单例陷阱
2014-09-12 10:01 966Spring MVC Controller默认是单例的: 单 ... -
Spring MVC模型(Model)层和视图(View)层
2014-04-20 18:57 0Spring MCV中Model层是View层的数据容器,Js ... -
springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
2014-04-20 18:52 3108spring mvc处理方法支持如下的返回方式:ModelAn ... -
spring mvc常用注解@Component @Controller @Service @Repository
2014-03-13 16:10 9232注解用了之后,会在*.xml文件中大大减少配置量。以前我们每个 ... -
applicationContext.xml 配置文件在web.xml中的写法
2014-03-11 16:28 2819applicationContext.xml 配置文件的一些认 ... -
SpringMVC和Struts2的比较
2014-02-27 19:12 781通俗说Spring的作用 Spring ... -
Struts-config.xml配置文件《action-mappings》元素的详解
2014-02-26 13:12 2486action-mappings 该元素用于将Action元素定 ... -
使用Hibernate向mysql数据库中插入中文,数据库中显示??乱码
2014-02-24 23:02 1045[size=medium]通过网上学习,要求修改Hiberna ... -
在web.xml中通过contextConfigLocation配置spring
2014-02-24 21:19 2359在web.xml中通过contextConfigLocatio ... -
Struts-config.xml配置action-mappings元素略计
2014-02-24 16:58 669action-mappings 该元素用于将Action元素 ... -
Spring的DataAccessException略记
2013-07-08 19:23 2508Spring的DAO框架没有抛出 ... -
Result Type(Struts.xml配置)
2013-06-25 08:35 656一个提交到服务器的处理通常可以分为两个阶段: 第一个阶段查询服 ... -
ibatis常用标记略记
2013-06-23 21:12 1013isNull判断property字段是否是null,用isEm ... -
Struts2 两个Action之间动态传参
2013-06-21 10:00 1091两个Action 动态传参数 研究了近两天的时间 ... -
spring入门之—第一步
2013-06-13 15:26 751注: 本文用的是spring-framework-3.1.1. ... -
Spring的ApplicationContext加载多个配置文件的三种方式
2013-06-13 15:09 18671.第一种,使用数组方式 ApplicationConte ... -
详解iBaits中SqlMapClientTemplate的使用
2013-06-05 16:07 0pache iBatis(现已迁至Google Code下发展 ... -
Struts2.0默认支持多种格式的result type
2013-06-05 16:00 896<action name="attachmen ... -
maven+ssi对oracle实现增删改查(二)
2013-06-05 12:06 12361.index.jsp访问项目默认页面 <%@ page ... -
maven+ssi对oracle实现增删改查(一)
2013-06-05 11:40 1257-. 1.Oracle10g 的表结构语句,需要内容的自己添加 ...
相关推荐
在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进行数据操作时,批量删除是常见的需求之一。iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,提供了灵活的映射机制,使得Java对象与数据库之间的交互更加便捷。在iBatis中...
Ibatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在Ibatis中,动态查询是其核心特性之一,它允许我们根据业务需求构建灵活...
3. **使用Spring框架**:集成iBatis,通过Spring管理事务。 #### 三、配置文件 在iBatis中,批量操作可以通过XML映射文件来定义,下面分别展示批量插入、更新和删除的示例。 ##### 批量插入 ```xml insert all ...