org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zpy.mapper.UserMapper.selectList
时间: 2024-09-26 11:05:45 浏览: 33
org.apache.ibatis.binding.BindingException通常在MyBatis框架中抛出,它表示在尝试执行SQL查询时遇到了问题。在这个特定错误中,"Invalid bound statement (not found): com.zpy.mapper.UserMapper.selectList"意味着试图从配置中找到一个绑定的SQL语句,但是没有找到UserMapper接口的selectList方法对应的映射(Mapper XML文件或注解)。这可能是由于以下几个原因:
1. **Mapper XML未定义**:确认UserMapper.xml文件是否存在,并且`<select>`标签是否正确地定义了名为`selectList`的方法。
```xml
<select id="selectList" ...>
<!-- your SQL query -->
</select>
```
2. **@Mapper接口错漏**:如果你使用的是注解驱动,检查UserMapper.java中的注解是否正确引用了这个方法,例如`@Select("your sql")`。
```java
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> selectList();
}
```
3. **拼写错误**:检查方法名、ID或XML元素名是否匹配,因为大小写敏感可能导致找不到。
4. **Mapper路径问题**:确认Mapper的全限定名(com.zpy.mapper.UserMapper)与配置文件中的namespace或mapperInterface属性一致。
如果上述都没问题,确保MyBatis的环境设置正确,比如别名(alias)、namespace等都已经配置好。
阅读全文