首页 > 其他 > 详细

ibatis实现Iterate的使用

时间:2019-05-15 18:15:16      阅读:114      评论:0      收藏:0      [点我收藏+]

<iterate  

    property=""   /*可选,   从传入的参数集合中使用属性名去获取值,   这个必须是一个List类型,   否则会出现OutofRangeException,   通常是参数使用java.util.Map时才使用,  如果传入的参数本身是一个java.util.List, 不能只用这个属性.    /  

    conjunction="" /*可选,    iterate可以看作是一个循环,   这个属性指定每一次循环结束后添加的符号,   比如使每次循环是OR的, 则设置这个属性为OR*/  

  open="" /*可选, 循环的开始符号*/  

    close="" /*可选, 循环的结束符号*/  

    prepend="" /*可选, 加在open指定的符号之前的符号*/  

>

1.查询

<!-- Iterate的使用,根据多个匹配条件查询,类似in(a,b,c)-->

<select id="selectByIterate" parameterClass="java.util.List" resultClass="user">

 SELECT * FROM USERS WHERE USER_ID IN

 <iterate conjunction="," open="(" close=")">

  #ids[]#

 </iterate>

</select>

注意:不要property属性,否则报错。String index out of range: -1

        2. 但是,若参数有多个传入的一个是List,另一个不是, parameterClass为map时,需要property属性区分要遍历的  集合。

2.删除

<!-- 批量删除对象的时候,iterate不要property属性 -->

<delete id="delStudybook" parameterClass="java.util.List">

 delete FROM STUDYBOOK WHERE ID IN

 <iterate conjunction="," open="(" close=")">

  #bookList[]#

 </iterate>

</delete>

 

http://hongzhguan.iteye.com/blog/1222353

ibatis实现Iterate的使用

原文:https://www.cnblogs.com/zhuyeshen/p/10871087.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!