ibatis的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的写法
<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 飞熊 阅读(20034) 评论(3) 编辑 收藏 所属分类: Ibatis
评论
# re: ibatis的iterate使用 2011-10-06 01:10 wiky
#value[]# 要改成#ids[]# 才行 回复 更多评论
#re: ibatis的iterate使用[未登录] 2013-08-22 13:36 呵呵
转载于:https://www.cnblogs.com/Struts-pring/p/5127500.html
ibatis的iterate使用相关推荐
- ibatis实现Iterate的使用
<iterate property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, ...
- IBatis之Iterate
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容. Iterate 的属性: prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可 ...
- 使用ibatis的iterate标签实现批量插入
ibatis批量插入(使用iterate标签) 1.要注意版本是否支持foreach,我使用的版本就不支持.如果不支持,会报错,叫你必须指定foreach元素类型. 2.使用iterate的List时 ...
- Ibatis实现Iterate
<iterate property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, ...
- ibatis中iterate的用法(conjunction=or ,)
<!-- 删除相应的person记录 --> < delete id =" deletePerson " parameterClass ="m ...
- ibatis中iterate的用法(conjunction=or ,) .
<!-- 删除相应的person记录 --> < delete id =" deletePerson " parameterClass ="m ...
- Oracle model iterate,ibatis实现Iterate的使用
property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, 通 ...
- ibatis中iterate的用法(转载)
PersonDaoImp如下: /** * 删除性别为man,年龄为 11,12 的Person记录 */ public int deletePerson(Map<Str ...
- ibatis批量插入数据-iterate标签详解及应用
Sql代码 insert into tb_name(col1, col2, col3) values (col1_v, col2_v, col3_v), (col1_v, col2_v, c ...
最新文章
- 【组队学习】【29期】9. 基于transformers的自然语言处理(NLP)入门
- DXUT框架剖析(12)
- python基础笔记(非系统/自用/参考小甲鱼的零基础入门学习python)下
- leetcode -- 3.无重复字符的最长子串
- java线索二叉树的实现_JAVA递归实现线索化二叉树
- iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例...
- C++学习系列笔记(七)
- html页面手机端console,vue项目以及独立HTML项目在手机端查看控制台日志 vconsole
- opencv-api approxPolyDP
- Android开发笔记(四十二)Broadcast的生命周期
- loinc编码_通用检验编码系统(Universal Laboratory Test Code System)于香港电子健康纪录计划的应用...
- [经验]自定义ASP.NET服务器控件属性的状态不能保存的问题
- 通过css实现按钮高亮
- Android 百度地图api 问题 汇总
- python 千位分隔符_千位分隔符的完整攻略
- 6 款免费网络延迟测试工具-从事网络行业必备
- 关于金融危机下的亮剑精神!
- AiDD AI+软件研发数字峰会开启编程新纪元
- 牛津3000词汇表(The Oxford 3000™)
- Linux用户空间线程管理介绍之二:创建线程堆栈