各位大佬,为什么mybatis中的动态sql语句不能使用foreach?

在xml中只要使用foreach标签,例如

(#{blind.id},#{blind.media})

然后就报错:
Caused by: org.xml.sax.SAXParseException; lineNumber: 80; columnNumber: 73; 必须声明元素类型 "foreach"。
什么梗!!!

foreach一共有三种类型,分别为List,,Map三种.item-循环中的具体对象,separator-元素之间的分隔符,open-foreach代码的开始符号,一般是(和close=")"合用。close-foreach代码的关闭符号,一般是)和open="("合用。

可以用的啊,你看看你是不是少了什么参数没有写进去。我都可以用。

 <!--批量删除-->
    <!--DELETE FROM hscs_itf_defination_lines WHERE HEADER_ID in(15,16);-->
    <delete id="deleteByHeaders" parameterType="java.util.List">
        DELETE from hscs_itf_defination_lines where HEADER_ID in
        <foreach collection="list" item="id"
                 open="(" close=")" index="index" separator=",">
            #{id}
        </foreach>
    </delete>
    <!--批量删除-->

这个是我的批量删除,传进去的是 List headerIds。你可以模仿一下。