出现此异常,一般是动态sql的问题,根据后面的提示信息,找到对应的sql,检查动态sql语法。
问题描述
异常信息:
nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ides'. Return value (806) was not iterable.
根据异常提示信息,找到ides所在的 动态sql语句。
<foreach collection="ides" index="index" item="ides" open="(" separator="," close=")">
#{ides}
</foreach>
...
<foreach collection="ides" index="index" item="ides" open="(" separator="," close=")">
#{ides}
</foreach>
最后发现
两个<foreach></foreach>语句 对同一item变量进行操作,导致后者动态sql拼接失败。
解决办法
将任一语句中item属性更改为不同值。
<foreach collection="ides" index="index" item="idess" open="(" separator="," close=")">
#{idess}
</foreach>
...
<foreach collection="ides" index="index" item="ides" open="(" separator="," close=")">
#{ides}
</foreach>
版权声明:本文为ren9436原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。