编写自定义查询以更新MySQL数据库时遇到问题

问题描述

好吧,尝试使用Java Spring Hibernate后端和JPA存储库来更新MysqL数据库,并使用axios调用来响应前端。不确定是哪里出了问题,因为这是我第一次使用它。

这是我的自定义查询...

@Modifying
    @Query("UPDATE Item i SET i.title=?1  WHERE i.id=?2")
    void editItem(@Param("title") String title,@Param("id") long id);

这是我使用axios从React打来的电话

    Axios.put(`http://localhost:8080/editItem?title=${title}&id=${id}`)

这会导致我的后端出现错误

解决的[org.springframework.web.bind.MissingPathVariableException:类型类型为Long的方法参数缺少URI模板变量'id'

很明显,传递ID时我做错了事,但是我一生都无法弄清楚

解决方法

@Modifying
@Query("UPDATE Item i SET i.title=?1  WHERE i.id=?2")
void editItem(String title,long id);

尝试仅删除@Param注释

当查询看起来像WHERE i.id =:id

时,Param正在使用