部署springboot项目,报错No primary or single unique constructor found for interface java.util.List

作业要求写一个小区管理系统,写到批量删除信息时,正常写了post接口

    //删除停车场信息
    @PostMapping("")
    public ResultUtil delete (List<Integer> parkingIds){
        return ResultUtil.to(parkingService.deleteByParkingId(parkingIds));
    }

 如下正常发送数据,报错"Internal Server Error"

回到idea看报错信息是如下内容,

java.lang.IllegalStateException: No primary or single unique constructor found for interface java.util.List

经过数次查找,还是无法排查哪里出问题,最后还是百度找资料才解决,下面分享一下我总结的解决方法。

问题原因:
这个错误通常出现在使用 MyBatis 查询结果映射时,MyBatis 无法找到适合的构造方法来将查询结果转换为指定的 Java 对象。具体来说,错误信息 "No primary or single unique constructor found for interface java.util.List" 意味着 MyBatis 在将查询结果转换为 List 类型对象时遇到了问题,因为它无法找到一个合适的构造方法来实例化 List 对象。

按照我的理解就是,在 MyBatis 的映射文件中,可能将结果集映射为了 java.util.List 类型,但实际上 MyBatis 不能直接将结果集映射为 List 类型,因为 List 是一个接口,不能直接实例化。

我自己的解决方案就是不用List集合,改用数组来存放数据。

    //删除停车场信息
    @PostMapping("")
    public ResultUtil delete (Integer[] parkingIds){
        return ResultUtil.to(parkingService.deleteByParkingId(parkingIds));

最后解决问题,更多解决方案可以参考下面链接的文章。


本文内容参考以下博主的文章                       
原文链接:https://blog.csdn.net/LuoluoluoluoYan/article/details/132065315

  • 15
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值