ibatis iterate 用法

Iterate:这属性遍历整个集合,并为List集合中的元素重复元素体的内容。
Iterate的属性:
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>
注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将对象标记为List,以防解析器简单地将List输出成String
如果传用的参数是自己定义的类,如:
<update id="sqlMap"  parameterClass="example.ManagerModel">
    UPDATE        

    TBL_COMPANY

    SET               
    ADDRESS = #address#
    WHERE       

    COMPANY_ID
 IN
      <iterate conjunction="," open="("    close=")" property="companyIds" >
          #companyIds[]#
      </iterate>
</update>
生成Sql语句: UPDATE TBL_COMPANY SET ADDRESS='address'  WHERE COMPANY_ID IN ( 45, 50, 70)

ManagerModel 是自己定义的类,companyIds是其中的List

posted @ 2012-09-26 09:40  SilverUn  阅读(658)  评论(0编辑  收藏  举报