我是靠谱客的博主 成就茉莉,最近开发中收集的这篇文章主要介绍ibatis中的iterate遍历属性值 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

收集了一下“黑咖啡”的介绍: http://www.blogjava.net/kyleYang/archive/2010/02/02/311688.html

感谢能与大家分享

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。

 

 

这个例子还行,但是我的是一个map。这个#userNameList[]# 

似乎不能那样解决!

如下:

 <!-- 分页 conditions是一个list-->
   <sql id="queryDaily_clarkByPage">
         <isNotEmpty property="conditions">
           <iterate  property="conditions" open="(" close=")"  conjunction="AND">
               <![CDATA[
                    tdate=#conditions[]:INT#
                    AND  client_group=#contitions[]:VARCHAR#
                    AND  client_no=#conditions[]:VARCHAR#
                   
               ]]>
           </iterate>
         </isNotEmpty>   
   </sql>

 

如果是多个条件?比如#contitions[].tdate#,#contitions[].client_group#? 

最后

以上就是成就茉莉为你收集整理的ibatis中的iterate遍历属性值 的全部内容,希望文章能够帮你解决ibatis中的iterate遍历属性值 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部