he.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguigu.mapper.HeadlineMapper.updateById
时间: 2023-12-26 13:28:47 浏览: 135
根据提供的引用内容,出现`BindingException: Invalid bound statement (not found): com.atguigu.mapper.HeadlineMapper.updateById`错误的主要原因是找不到对应的映射文件或配置文件。解决这个问题的方法如下:
1. 检查映射文件的位置和命名是否正确。确保映射文件存在于正确的位置,并且文件名与配置文件中指定的名称一致。
2. 检查主配置文件中的映射接口配置是否正确。确保主配置文件中的`<mapper>`标签的`class`属性或`resource`属性指向了正确的映射接口的配置文件。
3. 检查映射接口的命名空间是否正确。确保映射接口的命名空间与映射文件中的命名空间一致。
4. 检查映射接口中的方法名是否正确。确保映射接口中的方法名与映射文件中的`<select>`、`<update>`、`<insert>`等标签的`id`属性一致。
5. 检查映射文件中的SQL语句是否正确。确保映射文件中的SQL语句正确无误,并且与映射接口中的方法对应。
6. 检查项目的依赖是否正确配置。确保项目的依赖中包含了正确的数据库驱动和MyBatis相关的依赖。
以下是一个示例的解决方案:
```xml
<!-- 主配置文件 -->
<configuration>
<mappers>
<mapper resource="com/it/dao/iAccountDao.xml" />
</mappers>
</configuration>
```
```java
// 映射接口
public interface HeadlineMapper {
void updateById(Headline headline);
}
```
```xml
<!-- 映射文件 -->
<mapper namespace="com.it.dao.HeadlineMapper">
<update id="updateById" parameterType="com.it.entity.Headline">
UPDATE headline SET title = #{title} WHERE id = #{id}
</update>
</mapper>
```
阅读全文