ibatis的动态sql传参语法

	<isNotNull prepend="and" property="products">  
		product in
		<iterate  property="products" open="(" close=")" conjunction=",">  
          #products[]#  
        </iterate>
        </isNotNull>

 在上面的sqlMap中要注意的地方有两个。第一个地方是,<iterate>标签中一定要记得写property="products",不要因为在上面的 

<isNotNull prepend="and" property="products">标签中判断了该属性,就在<iterate>这个标签中忽略了property的书写(如果你忘了 
写iterate中的property属性的话系统会报这样的错误Cause: com.ibatis.sqlmap.client.SqlMapException: ParameterObject or 
property was not a Collection, Array or Iterator.),并且要记住, 
#products[]# 中的‘[]’符号,只有这样ibatis才把ids作为一个可迭代的对象(list,数组...),不然的话ibatis会把ids作为普通的string来处理。 

你可能感兴趣的:(ibatis动态sql 传数组)