ibatis iterate标签

Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。

Iterate 的属性: 
      prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选) 
      property  - 类型为 java.util.List 的用于遍历的元素(必选) 
      open  -  整个遍历内容体开始的字符串,用于定义括号(可选) 
      close  -整个遍历内容体结束的字符串,用于定义括号(可选) 
      conjunction -  每次遍历内容之间的字符串,用于定义 AND 或 OR(可选) 
      遍历类型为 java.util.List的元素。

ibatis中如何配置in语句,需要迭代,不能直接用string的写法

<select id="sql_test" parameterclass="myPramBean" resultclass="myResult">
select *from tablewhere name in
<iterate property="ids" conjunction="," close=")" open="(" />
#ids[]#
</iterate>
and code=#code#
</select>

bean的例子

myPramBean
{
private String code;
private List ids;
...
} 

 注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将

对象标记为List,以防解析器简单地将List输出成String

项目中的一个例子:

 

<select id="getUsersSimpleMsg" parameterClass="map" resultClass="com.test.core.vo.UserVO">
        select
          id,
          code,
          name,
          email,
          mobile
        from test_user_user
         where status=0 
         and id in
         <iterate property="userIdList" close=")" open="("  conjunction=",">  
                #userIdList[]#   
         </iterate>   
   </select>

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(iterate)