mybatis中可以foreach标签对java传过来的集合对象进行循环迭代,具体用法是collection属性传递的为集合对象,item为每次循环的值或对象,open属性为语句的开始,close属性为语句的结束,separator属性表示字符串的分隔符。这样就可以使用sql语句中的in字句进行子查询。
例如:
可以通过对传入的参数进行循环,然后拼成子查询语句,从而进行删除多篇文章。(注意id前面是用#{id}这一点和iBatis中是不同的(iBatis中是 #id#))
mybatis_article.xml:
<delete id="deleteArticlesByIds" parameterType="hashmap">
delete from article_info where id in
<foreach item="id" collection="idList" open="(" separator="," close=")">
#{id}
</foreach>
</delete>