org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.itheima.mapper.DishMapper.findById
时间: 2023-11-26 19:49:00 浏览: 60
根据提供的引用内容,可以看出这是MyBatis框架中的一个异常,提示找不到指定的SQL语句。通常情况下,这种异常是由于Mapper接口中的方法名与Mapper XML文件中定义的SQL语句ID不一致导致的。因此,解决这个问题的方法就是检查Mapper接口中的方法名是否与Mapper XML文件中定义的SQL语句ID一致。
以下是一个可能的解决方案:
1.检查Mapper接口中的方法名是否与Mapper XML文件中定义的SQL语句ID一致。
例如,如果Mapper接口中定义了一个名为findById的方法,则Mapper XML文件中应该有一个ID为findById的SQL语句。
2.检查Mapper XML文件中是否存在定义SQL语句的标签。
例如,如果Mapper接口中定义了一个名为findById的方法,则Mapper XML文件中应该有一个ID为findById的SQL语句,且应该使用<select>标签来定义该SQL语句。
3.检查Mapper XML文件中定义的SQL语句是否正确。
例如,如果Mapper接口中定义了一个名为findById的方法,则Mapper XML文件中应该有一个ID为findById的SQL语句,并且该SQL语句应该正确地定义了查询语句。
以下是一个可能的代码示例:
```java
// Mapper接口
public interface DishMapper {
Dish findById(int id);
}
// Mapper XML文件
<select id="findById" resultType="com.example.Dish">
SELECT * FROM dish WHERE id = #{id}
</select>
```
阅读全文