@Update("UPDATE huake_position_log SET send_over = #{sendOver}, send_state = #{sendState} WHERE tenant_id = #{tenantId} AND position_id = #{positionId}") Long updatePositionLogs(PositionLogCreateReqVO positionLogDO);报错nested exception is org.apache.ibatis.binding.BindingException: Parameter 'positionId' not found. Available parameters are [arg1, arg0, param1, param2]
时间: 2024-04-19 07:24:39 浏览: 58
《信号与系统》知识点总结.pdf
这个错误提示是由于在MyBatis的SQL语句中无法找到参数'positionId'引起的。根据你提供的代码片段,可以看到在SQL语句中使用了#{positionId}作为参数,但是在方法调用中并没有传入该参数。
你可以检查一下PositionLogCreateReqVO对象中是否有positionId属性,并确保该属性在调用updatePositionLogs方法时被正确赋值。另外,也可以尝试使用@Param注解来指定参数名称,例如:
@Update("UPDATE huake_position_log SET send_over = #{sendOver}, send_state = #{sendState} WHERE tenant_id = #{tenantId} AND position_id = #{positionId}")
Long updatePositionLogs(@Param("positionId") PositionLogCreateReqVO positionLogDO);
这样可以明确告诉MyBatis哪个参数对应哪个占位符,避免参数名称的混淆。希望能帮到你!如果还有其他问题,请随时提问。
阅读全文