原来这么写的,plsql能执行,一直报无效字符
<delete id="deleteEntityAll" parameterType="java.lang.reflect.Array">
<foreach collection="array" item="item" index="index" separator=";">
delete from GKCP_TC_JL where JH = #{item.jh} and to_char(TCRQ,'YYYY-MM-DD') = #{item.tcrq}
</foreach>
</delete>
这样写生成的SQL语句用;隔开,在sql工具中可以识别,但是mybatis不识别
在foreach中增加节点操作符可以解决
正确写法:
<delete id="deleteEntityAll" parameterType="java.lang.reflect.Array">
<foreach collection="array" item="item" index="index" open="begin" close=";end;" separator=";">
delete from GKCP_TC_JL where JH = #{item.jh} and to_char(TCRQ,'YYYY-MM-DD') = #{item.tcrq}
</foreach>
</delete>