记录没见过的Bug之BindingException 今天在写一个删除套餐功能时遇到个bug如下图所示: 我们都知道当一个请求参数有多个值接收时可以采用如下方式: 1. 使用数组接收 Long[]
记录没见过的Bug之BindingException
今天在写一个删除套餐功能时遇到个bug如下图所示:
我们都知道当一个请求参数有多个值接收时可以采用如下方式:
1. 使用数组接收 Long[] ids
2. 使用集合接收 List
这里我采用的是以集合方式来接收。
在Mapper接口中的方法如下
//动态sql long findCountByIds(List ids); //根据ids批量删除的套餐 void deleteByIds(List ids);
xml的sql语句如下:
#{id}
一切都看着那么的岁月静好,但最后运行却报错了。。。
分析原因:
原来在mybatis 中,当 Mapper传入的是 List 参数时,会自动将参数封装成 Map 参数,而 map中的 key 会自动用 list , value 就是你传入的 List 参数。
解决方法:
第一种: 将 List 参数封装为 Map 然后再传入,在 XML 配置页面写上相应 key 值.
第二种: 将 collection 的值修改为 list
这样报错就解决啦
--结束END--
本文标题: BindingException: Parameter ‘ids‘ not found. Available parameters are [collection, list]
本文链接: https://lsjlt.com/news/408901.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0