在看ibatis文档时,就看见过这个标签,并且还对其不是很了解,一直没有到现在,在工作中用到了标签时,才去了解了一下这个标签的具体含义。先把文档中对标签的介绍贴出来一起分享。
标签:这属性遍历整个集合,并为List集合中的元素重复元素体的内容。
标签的属性:
prepend-可被覆盖的SQL语句组成部分,添加在语句的前面(可选)
property-类型为java.util.List的用于遍历的元素(必选)
open-整个遍历内容体开始的字符串,用于定义括号(可选)
close-整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction-每次遍历内容之间的字符串,用于定义AND或OR(可选)
iterate-遍历类型为java.util.List(或数组)的元素。
例子:
<iterate prepend=”AND” property=”userNameList”
open=”(” close=”)” conjunction=”OR”>
username=#userNameList[]#
</iterate>
注意:使用标签时,在List元素名后面包括方括号[]非常重要,方括号[]将对象标记为List,以防解析器简单地将List输出成String。
我本人对上面标签中内容的理解如下:
在生成该条sql语句时,标签中的内容是循环生成的,就拿上面的例子来说,生成的sql是(username=xxx1 or username=xxx2 or username=xxx 3)而不是(username=xxx1 or xxx2 or xxx3) 再举个例子,如下:
id in
<iterate prepend="" property="ids" open="(" close=")" conjunction="," >
#ids[]#
</iterate> 。。。。。。。(1)
其生成的sql语句是:id in (xx1,xx2,xx3,.....),括号中的(包括括号)是标签生成的。
标签虽然是遍历整个集合的,但标签不象我们在java中用到的for一样,一次一次的循环生成标签中的内容,而是一次性利用list或数组生成整个可运行的sql语句。就好比(1)它生成的sql不可能象这样:id in (xx1)
id in (xx2) ,id in (xx3),.....
分享到:
相关推荐
标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取...
- `select`标签用于执行查询,`resultMap`属性指定结果集映射,`#value#`是Ibatis的参数占位符,代表传入的方法参数。 - `insert`标签用于插入记录,`parameterClass`属性指定参数类型。 - `delete`标签用于删除记录...
Ibatis通过`<mapper>`标签在`mybatis-config.xml`中引用这些映射文件。 5. **参数映射与结果映射**:在SQL映射文件中,`<parameterMap>`定义了输入参数的结构,`<resultMap>`定义了查询结果如何映射到Java对象。...
在iBATIS中,SQL语句可以动态化,通过使用、、、等标签实现条件判断,极大地增强了SQL的灵活性。例如,你可以根据传入的参数动态决定是否添加某个WHERE子句。 除了基本的SQL操作,iBATIS还支持存储过程的调用。通过...
【Ibatis 框架详解】 Ibatis 是一个基于 Java 的持久层框架,源自于“internet”和“abatis”的组合,由 Clinton Begin 在 2001 年发起。起初,它专注于密码软件的开发,随着时间的发展,逐渐演变成一个轻量级的SQL...
### 访问存储过程(或函数)通过IBATIS中的Procedure标签定义Statement 在IBATIS框架中,访问数据库中的存储过程或者函数是一项常见的需求。本文将深入探讨如何利用IBATIS提供的`procedure`标签来定义这样的操作,...
在ibatis中,`<dynamic>`标签是用来构建动态SQL的核心元素之一。当使用`<dynamic>`标签时,可以将一系列条件组合起来,根据参数的不同值来决定是否加入到最终的SQL语句中。例如,在给定的部分内容中,可以看到`...
《IbatisDemo入门源码详解》 IbatisDemo是一个典型的基于Ibatis框架的入门示例,它为我们展示了如何在Java项目中使用Ibatis进行数据库操作。Ibatis,一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件...
**IBatis .NET框架实例详解** IBatis 是一个流行的数据访问层框架,它在Java世界中广为人知,但同样提供了对.NET平台的支持。本文将深入探讨如何在C# .NET环境中使用IBatis进行数据库操作,这对于初学者来说是一份...
**Ibatis知识详解:** Ibatis,一个开源的Java持久层框架,允许开发者将SQL语句和Java代码分离,通过XML或注解来配置和映射原生信息,使得SQL语句可以与Java对象和参数自动映射,避免了传统的JDBC代码编写。以下是...
其次,属性设置详解涉及到的是如何在iBATIS中设置和获取Java对象的属性,以及如何将这些属性与数据库表字段对应。在映射文件中,我们可以定义`<resultMap>`来映射对象属性和字段,使用`<id>`、`<result>`等元素来...
### iBatis简明教程及快速入门 #### 一、iBatis简介 iBatis是一个开源框架,用于实现Java应用程序中的对象关系映射(Object Relational Mapping, ORM)。相较于其他ORM框架如Hibernate,iBatis更加轻量级且易于...
《Ibatis入门详解:从简单案例到深入理解》 Ibatis,作为一个轻量级的Java持久层框架,因其灵活性和易用性而被广大开发者所喜爱。本教程将基于提供的"ibatis1.rar"压缩包文件,带领大家一步步走进Ibatis的世界,...
1. Iterate标签详解及应用: Ibatis的iterate标签主要用于循环处理集合数据,它允许我们在动态SQL中实现类似Java的for-each循环。例如,当需要批量插入多条数据时,可以将数据集放入List中,然后在SQL语句中使用...
**Ibatis 入门实例详解** Ibatis 是一个优秀的、开源的 Java 数据访问框架,它简化了数据库操作,使得开发者可以更加专注于 SQL 而不需处理底层的 JDBC 编码。Ibatis 提供了一个映射框架,允许将 SQL 查询与 Java ...
**Ibatis jar包详解** Ibatis 是一个优秀的Java持久层框架,它主要负责数据库操作,提供了灵活的SQL映射机制,让开发者能够更方便地控制SQL的编写与执行。Ibatis 不是完整的ORM(对象关系映射)框架,而是简化了...
- **动态SQL**:Ibatis支持动态SQL,可以通过`<if>`、`<choose>`、`<when>`、`<otherwise>`等标签根据条件生成不同的SQL语句。 #### 缓存 - **只读缓存与可读写缓存**:只读缓存适用于不会被修改的数据,而可读写...
《Ibatis 框架基础详解》 Ibatis,作为一个轻量级的持久层框架,以其灵活、简单的特点在Java开发领域中广受欢迎。本文将深入解析Ibatis的基本概念、核心功能以及使用方法,帮助开发者更好地理解和应用这一框架。 ...