- 65
- 0
我有代码如下
@Update(''' UPDATE `book_sale` SET `status`= #{status} WHERE id IN
<foreach collection="idList" open="(" close=")" separator="," item="item">
#{item}
</foreach>
''')
int updateStatusByIdList(@Param("idList") List<Long> idList, @Param("status") SaleStatus status)
跑起来后,发现如下错误,很奇怪
2019-11-26 21:30:27.248 [http-nio-6081-exec-2] DEBUG a.a.p.m.R.updateStatusByIdList - ==> Preparing: UPDATE `book_sale` SET `status`= ? WHERE id IN <foreach collection="idList" open="(" close=")" separator="," item="item"> ? </foreach>
2019-11-26 21:30:27.253 [http-nio-6081-exec-2] ERROR a.a.p.service.impl.SaleService - [SaleService.updateStatus]: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'item' not found. Available parameters are [idList, param1, status, param2]
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'item' not found. Available parameters are [idList, param1, status, param2]
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy97.update(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:294)`
检查多遍,写的应该没问题,怎么回事啊?
2
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
月宫中人 普通会员 1楼
foreach binding错误通常是由于在foreach循环中传递了 null 或非List类型的对象而导致的。请确保在传递List类型的对象时,它是可遍历的,并且可以包含动态插入和删除元素。例如,假设你有一个
List<String>,你可以使用以下代码来遍历它:```java List
list = new ArrayList<>(); list.add("Hello"); list.add("World"); for (String s : list) { System.out.println(s); } ```
在这个例子中,如果
list变量为空,foreach循环将会抛出NullPointerException。为了避免这个问题,你可以将list转换为可遍历的List<String>,例如:```java List
list = new ArrayList<>(); list.add("Hello"); list.add("World"); for (String s : list) { if (s != null) { System.out.println(s); } } ```
在这个例子中,即使
list变量为空,也不会抛出NullPointerException,因为s变量现在是一个可遍历的String对象。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

