#事象
mybatisでin句に渡すパラメータをListに格納されている要素分、foreachで動的に渡そうとしているのですが、以下のようなメッセージが出力され、うまくできません。
解決方法を教えていただけないでしょうか?
#コンソールログ
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'item' not found. Available parameters are [collection, list]
#xml
<delete id="deleteById" parameterType="list"> <![CDATA[ DELETE FROM tbl_schedule WHERE task_id IN <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> ]]> </delete>
#Java
void deleteById(List<String> taskIdList);
##参考にしたサイト
・https://mybatis.org/mybatis-3/ja/dynamic-sql.html
・https://qiita.com/5zm/items/0864d6641c65f976d415
##解決方法
CDATAを除外しましたら、エラーも発生せず、sqlを実行することができました。
<delete id="deleteById" parameterType="list"> DELETE FROM tbl_schedule WHERE task_id IN <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </delete>

回答1件
あなたの回答
tips
プレビュー