BindingException: Parameter ‘ids‘ not found. Available parameters are [collection, list]

这篇具有很好参考价值的文章主要介绍了BindingException: Parameter ‘ids‘ not found. Available parameters are [collection, list]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记录没见过的Bug之BindingException

今天在写一个删除套餐功能时遇到个bug如下图所示:

BindingException: Parameter ‘ids‘ not found. Available parameters are [collection, list]

我们都知道当一个请求参数有多个值接收时可以采用如下方式:
               1. 使用数组接收   Long[] ids
               2. 使用集合接收  List<Long> ids  注意: 如果使用集合需要添加@RequestParam

这里我采用的是以集合方式来接收。

在Mapper接口中的方法如下

     //动态sql
    long findCountByIds(List<Long> ids);
    //根据ids批量删除的套餐
    void deleteByIds(List<Long> ids);

xml的sql语句如下:

    <!-- 为了提高sql语句的复用性,可以使用sql标签抽取出来-->
    <sql id="foreachSql">
        <foreach collection="ids"  item="id" separator="," open="(" close=")">
            #{id}
        </foreach>
    </sql>

    <!--  //查询在售套餐的个数
      long findCountByIds(List<Long> ids);-->
    <select id="findCountByIds" resultType="long">
        SELECT COUNT(*) FROM setmeal WHERE STATUS=1 AND id IN
        <include refid="foreachSql"></include>
    </select>

    <!--//根据ids批量删除的套餐
    void deleteByIds(List<Long> ids);-->
    <delete id="deleteByIds">
        delete from setmeal where id in
        <include refid="foreachSql"></include>
    </delete>

一切都看着那么的岁月静好,但最后运行却报错了。。。

分析原因:

原来在mybatis 中,当 Mapper传入的是 List 参数时,会自动将参数封装成 Map 参数,而 map中的 key 会自动用 list , value 就是你传入的 List 参数。

解决方法:

        第一种: 将 List 参数封装为 Map 然后再传入,在 XML 配置页面写上相应 key 值.
        第二种: 将 collection 的值修改为 list

BindingException: Parameter ‘ids‘ not found. Available parameters are [collection, list]

 这样报错就解决啦文章来源地址https://www.toymoban.com/news/detail-416288.html

到了这里,关于BindingException: Parameter ‘ids‘ not found. Available parameters are [collection, list]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包