在看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基础知识详解 ibatis基础知识详解 有详细的注释
ibatis 配置文件详解
iBATIS动态标签 §标签 §二元标签 §一元标签 §标签 § 共同的属性 prepend,open,close 标签 §标签 §属性 prepend,open,close 二元条件标签
ibatis和Spring整合的详细例子,数据库用的是mysql,开发环境是Eclipse3.2: 1.首先把用到的包导入进来,此例用的是spring-framework-1.2.7,iBATIS_DBL-2.1.7.597,mysql的数 据库连接包用的是mysql-connector-java-5.0.3...
ibatis教程 输入参数详解 ibatis快速入门
开始学习iBATIS一段时间了,这是第一次做iBATIS和spring整合的例子,测试运行成功,含源代码,代码中有规范的注释,希望能帮助读者。
ibatis详解案例,保准你一学就会!想学ibtais的不要错过!
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...
ibatis开发指南 博文链接:https://imticg.iteye.com/blog/216080
NULL 博文链接:https://duqiangcise.iteye.com/blog/286764
本文档详细介绍了iBatis开发,开发流程、iBatis配置、映射的详解,希望能帮到各位。
ibatis学习 ibatis总结 ibatis ibatis ibatis
ibatis_SqlMapConfig配置详解,希望对初次接触ibatis的童鞋,有帮助
iBATIS-SqlMaps详解 java程序员必备
ibatis 一个简单的项目详解及配置,方便初学者更快地了解ibatis
ibatis配置文件、映射文件详解.doc
自己整理的非常好用 好东西向大家分享 └ ^o^ ┘
ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料
ibatis-sqlmaps详解pdf版
在网上一个牛人翻译的ibatis in action,他分成了几个内容来翻译,我感觉不错,就把各部分分开弄成了word格式,还没翻译完,但是现有的翻译的部分就值得我们研究了。很适用的东西,还附带有代码。大家看看