Invalid bound statement (not found): com.lizhuotian.inmbakery.mapper.UserMapper.selectUser
时间: 2023-07-19 15:54:53 浏览: 105
这个错误通常表示您的代码中存在语法错误或逻辑错误,导致 MyBatis 找不到您定义的 SQL 语句。您需要检查您的代码,确认 SQL 语句的 ID 是否正确,以及是否正确地映射了 SQL 语句。您还可以检查是否正确地配置了 MyBatis 的 Mapper 接口和 XML 文件。如果仍然无法解决问题,请提供更多的上下文和代码,以便我能够更好地帮助您。
相关问题
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.lizhuotian.inmbakery.mapper.UserMapper.selectUser] with root cause
这个异常信息表明 MyBatis 在处理您的 SQL 语句时发生了错误,具体地说是找不到您的 Mapper 接口中定义的某个 SQL 语句。这可能是因为您的 Mapper 接口中定义的 SQL 语句 ID 不正确或者没有在 XML 文件中映射该 SQL 语句。
您可以检查以下几个方面来解决这个问题:
1. 检查 Mapper 接口中定义的 SQL 语句 ID 是否与 XML 文件中的 ID 一致,包括大小写和空格等字符。
2. 检查 XML 文件中是否正确地映射了 Mapper 接口中定义的 SQL 语句,包括 namespace 和对应的 SQL 语句 ID。
3. 检查 MyBatis 的配置文件是否正确地配置了 Mapper 接口和 XML 文件的路径,以及是否开启了自动扫描 Mapper 接口的功能。
如果仍然无法解决问题,请提供更多的上下文和代码,以便我能够更好地帮助您。
Invalid bound statement (not found): com.yhn.mapper.UserMapper.selectList
这个问题的实质就是mapper接口和mapper.xml没有映射起来。在Mybatis-plus中,mapper接口和mapper.xml是通过namespace和id进行映射的。如果出现了Invalid bound statement (not found)这个错误,说明Mybatis-plus没有找到对应的id。解决这个问题的方法是检查mapper接口和mapper.xml中的namespace和id是否一致,以及mapper.xml文件是否正确放置在了resources/mapper目录下。
可能的解决方法:
```java
// Java代码
// 确认UserMapper接口中的方法名与mapper.xml中的id是否一致
public interface UserMapper extends BaseMapper<User> {
List<User> selectList();
}
```
```xml
<!-- mapper.xml -->
<!-- 确认namespace是否与UserMapper接口的包路径一致 -->
<mapper namespace="com.yhn.mapper.UserMapper">
<select id="selectList" resultType="com.yhn.entity.User">
select * from user
</select>
</mapper>
```
阅读全文