更改 <!-- 根据分类ID删除分类 --> <delete id="deleteOne" parameterType="int"> DELETE FROM product WHERE category_id = #{category.category_id} </delete>后报错org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'category' not found. Available parameters are [category_id, param1]] with root cause org.apache.ibatis
时间: 2024-02-11 12:07:20 浏览: 222
MyBatis-03动态SQL-01.<if>元素的使用
这个错误提示是因为在 `deleteOne` 的 `parameterType` 中指定的是 `int`,而在 SQL 语句中却使用了 `#{category.category_id}` 引用了一个名为 `category` 的对象,因此导致了参数不匹配的错误。
要解决这个问题,可以将 `deleteOne` 的 `parameterType` 修改为 `category`,并在 SQL 语句中使用 `#{category_id}` 引用 Category 对象中的 `category_id` 属性,例如:
```xml
<delete id="deleteOne" parameterType="category">
DELETE FROM category WHERE category_id = #{category_id}
</delete>
```
这个例子中,我们将 `parameterType` 修改为 `category`,并修改了 SQL 语句中的引用方式,使用 `#{category_id}` 引用 Category 对象中的 `category_id` 属性。这样就可以避免参数不匹配的问题了。
阅读全文