mybatis的坑Parameter 'items' not found. Available parameters are [collection, list]

好久没写mybatis了,最近踩了个坑记录下,mapper.xml中某个sql报错,该sql带in所以用了foreach动态标签,原sql如下:

<![CDATA[
<delete id="deleteBatch"  parameterType="java.util.List" >
    DELETE  FROM api_attribute_merge_index_target
    WHERE
        api_attribute_id IN
        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
          #{item}
        </foreach>
</delete>
]]>

mapper接口定义如下:

Long deleteBatch(List<Long> list);

然后junit测试时报错

Parameter 'items' not found. Available parameters are [collection, list] 

然后网上搜了下foreach的具体用法,仔细对比检查了没问题啊,看了网上各种网友的,也没问题啊,折腾了好一会儿,发现多了个<![CDATA[ ]]>标签,foreach等动态标签是不能嵌套在<![CDATA[ ]]>标签的!!去掉就好了。习惯性的复制,复制的锅啊。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值