<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来处理。