org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguigu.mybatis.mapper.UserMapper.queryById
时间: 2023-11-26 12:49:06 浏览: 131
这个异常通常是因为MyBatis找不到对应的SQL语句引起的。可能的原因有:
1. SQL语句没有被正确映射到对应的Mapper接口方法上。
2. Mapper接口没有被正确扫描到。
3. SQL语句的namespace和Mapper接口的全限定名不一致。
4. SQL语句的id和Mapper接口方法名不一致。
解决方法:
1. 确认SQL语句的namespace和Mapper接口的全限定名一致。
2. 确认SQL语句的id和Mapper接口方法名一致。
3. 确认Mapper接口被正确扫描到,可以在启动类上添加@MapperScan注解。
4. 确认SQL语句被正确映射到对应的Mapper接口方法上,可以在Mapper接口方法上添加@Select等注解。
示例代码:
```java
// 确认Mapper接口被正确扫描到
@MapperScan("com.project.dao")
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
// 确认SQL语句被正确映射到对应的Mapper接口方法上
@Mapper
public interface PaymentDao {
@Select("SELECT * FROM payment WHERE id = #{id}")
Payment queryById(Long id);
}
```
阅读全文