首页 > 其他分享 >苍穹外卖——报错:Parameter 'xxx' not found. Available parameters are [arg0, collection, list]] wit

苍穹外卖——报错:Parameter 'xxx' not found. Available parameters are [arg0, collection, list]] wit

时间:2024-10-15 23:21:42浏览次数:7  
标签:Available 缓存 target 编译 文件夹 报错 外卖 MyBatis

背景:

  在执行过程中,报错:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'orderDetails' not found. Available parameters are [arg0, collection, list]] with root cause.

  疑问的点:代码方面都没有问题,但是往数据库中插入数据时一直报错,一直没找到原因。

解决:

  将项目中的target文件夹删掉之后,解决了问题。

分析:

  可能的原因有下面几种:

  1. 编译错误残留
    1. 在项目编译过程中,可能由于某些原因导致编译不完整或出现错误,这些错误被写入到了target文件夹中的编译结果文件中。例如,MyBatis 在生成映射文件的字节码或进行动态 SQL 解析时出现了问题,但错误结果被缓存到了编译后的文件中。
    2. 删除target文件夹后,项目重新编译,消除了之前的错误编译结果,从而解决了问题。
  2. 缓存问题
    1. MyBatis 或 Spring 框架在运行时可能会对一些配置或映射信息进行缓存。如果缓存的数据出现错误,就可能导致异常。而删除target文件夹后,这些缓存被清除,重新编译和运行时使用了正确的配置和映射。
    2. 可能是在开发过程中对 MyBatis 的映射文件或 Java 代码进行了修改,但缓存没有及时更新,导致运行时仍然使用旧的、错误的配置信息。
  3. 依赖冲突或版本问题
    1. target文件夹中可能包含了一些旧版本的依赖库或编译后的文件,这些文件与当前项目的其他部分存在冲突。删除target文件夹后,重新编译时会拉取正确版本的依赖,解决了冲突问题。
    2. 可能是 MyBatis 的版本与其他框架(如 Spring)的版本不兼容,导致在运行时出现异常。重新编译可能会解决这种兼容性问题。

  

标签:Available,缓存,target,编译,文件夹,报错,外卖,MyBatis
From: https://www.cnblogs.com/tcl-study/p/18468760

相关文章

  • 苍穹外卖--开发记录day01
    苍穹外卖day01苍穹外卖记录day01一:项目介绍1:软件开发2:苍穹外卖项目介绍二:环境搭建1:前端环境搭建2:后端环境搭建a:项目结构b:使用git进行版本控制c:数据库环境搭建d:前后端联调总结苍穹外卖记录day01项目大体概况:分为用户端和商家端,商家端可以管理菜品等,用户端可以选......
  • 【Azure Developer】com.azure:azure-identity jar包版本从1.2.0 升级到1.12.2 版本之
    问题描述com.azure:azure-identityjar包版本从1.2.0升级到1.12.2版本之后报错,错误信息如下:Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptwasmadefromthefollowinglocation:  com.azure.identity.implementation.IdentityClientBase.getConf......
  • Java的引擎效验报错-java.lang.VerifyError
    java包直接修改bytecode,经常会报错java.lang.VerifyError,包含非常多种的检查直接修改引擎dll文件去除效验jvm.dll-X64-V21.0.0.0.text:000000018084438F488D0DDA422100learcx,aVerifyingMetho;"Verifyingmethod%s".text:00000001......
  • 【Azure Developer】com.azure:azure-identity jar包版本从1.2.0 升级到1.12.2 版本之
    问题描述com.azure:azure-identityjar包版本从1.2.0升级到1.12.2版本之后报错,错误信息如下:Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptwasmadefromthefollowinglocation:  com.azure.identity.implementation.IdentityClientBase.get......
  • 《统治者:罗马》游戏崩溃报错?解决《统治者:罗马》“An error has occured“崩溃问题的有
    《统治者:罗马》游戏崩溃报错,特别是出现"Anerrorhasoccured"这样的错误提示时,确实会让玩家感到困扰。以下是一些解决这一崩溃问题的有效方法:一、检查电脑配置确认配置要求:首先,确保你的电脑配置满足《统治者:罗马》的最低配置要求。如果配置不足,游戏可能会出现崩溃或运行不......
  • 拳皇14报错找不到vcomp120.dll?几个解决拳皇14 vcomp120.dll丢失问题有效方式
    当拳皇14报错找不到vcomp120.dll时,这通常意味着游戏所需的某个关键动态链接库文件(DLL)缺失。以下是一些有效解决拳皇14vcomp120.dll丢失问题的方式:一、重新安装游戏卸载当前游戏:首先,从计算机上完全卸载拳皇14游戏。清理残留文件:确保卸载过程中没有残留文件,特别是与vcomp120.......
  • ssh-add 报错:Error connecting to agent No such file or directory
    问题描述在添加SSH时报错Errorconnectingtoagent:Nosuchfileordirectory解决方法1.打开PowerShell管理员身份打开WindowsPowerShell2.查看服务是否启动get-servicessh*3.启动服务Set-Service-Namessh-agent-StartupTypeManualStart-Servicessh......
  • 关于最新版本mysql9,使用Kettle连接Mysql 9 报错,驱动问题
    使用kettle连接mysql时,报“Driverclassorg.gjt.mm.mysql.Drivercouldnotbefound”错,没有需要的connector包,在Mysql官网下载了最新的connector的jar包,并将其放在如下图的Kettle所示的目录中:重试发现仍然连接失败。这时候对比了网上大家的解决方法,发现我所下载的最新conne......
  • 双十一将近,如何解决API接口调用数据超量及报错问题?
    随着双十一的临近,电商平台的API接口面临着巨大的挑战,尤其是在数据超量和报错问题上。以下是一些解决方案和最佳实践,可以帮助你一站式解决这些问题。1.性能测试在大促期间,如双十一,流量会大幅增长,因此进行性能测试是必要的。性能测试包括负载测试、基线测试、冒烟测试、浸泡......
  • 过滤器拦截器拦截了request后,controller的@RequestBody 无法获取request内容,报错 Requ
    SpringMVC的拦截器、过滤器、Controller之间的关系 众所周知所有的post请求中的body参数是已流形式存在的,而流数据只能读取一次(为啥看这里),如果在拦截器和过滤器中需要对post参数进行处理的话,就会报Requiredrequestbodyismissing异常。既然知道原因,那只要能将流保存起来......