org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.demo.mapper.CompanyMapper.getCompanyCode
时间: 2023-10-23 10:45:15 浏览: 47
这个异常表示 MyBatis 在执行 SQL 语句时找不到对应的 Mapper 方法。请检查以下几点:
1. 确保 Mapper 接口中有该方法,且方法名与 XML 文件中的 id 属性值一致。
2. 确保 XML 文件中的 namespace 属性值与 Mapper 接口的完全限定名一致。
3. 确保 XML 文件中存在与方法名一致的 SQL 语句,并且 SQL 语句的 id 属性值与方法名一致。
如果以上三点都没有问题,可以尝试重新编译项目或者重启应用程序,有时候由于编译或者缓存等问题会导致 MyBatis 找不到对应的 Mapper 方法。
相关问题
class org.apache.ibatis.binding.BindingException org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
org.apache.ibatis.binding.BindingException是MyBatis框架中的一个异常类,用于表示绑定错误的异常情况。在你提供的异常信息中,出现了"Invalid bound statement (not found)"的错误,表示找不到有效的绑定语句。
在MyBatis中,绑定语句是指将SQL语句与Mapper接口中的方法进行绑定,以便在执行数据库操作时使用。绑定语句通常定义在Mapper XML文件中或者使用注解方式进行定义。
出现"Invalid bound statement (not found)"错误的原因可能有以下几种:
1. 绑定语句的ID错误:可能是由于绑定语句的ID在Mapper XML文件中不存在或者注解方式定义的方法名与绑定语句ID不匹配导致的。
2. Mapper接口未正确绑定:可能是由于Mapper接口未正确与Mapper XML文件进行绑定或者未使用@Mapper注解进行标识导致的。
3. Mapper XML文件未正确配置:可能是由于Mapper XML文件中未正确配置绑定语句或者未正确引入Mapper接口导致的。
为了解决这个问题,你可以检查以下几个方面:
1. 检查绑定语句的ID是否正确,并确保在Mapper XML文件中存在对应的绑定语句。
2. 检查Mapper接口是否正确与Mapper XML文件进行绑定,可以使用@Mapper注解或者在配置文件中进行配置。
3. 检查Mapper XML文件中是否正确配置了绑定语句,并且引入了正确的Mapper接口。
如果以上检查都没有问题,还可以尝试重新编译和部署项目,确保所有的配置和代码都正确。
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.example.mapper.StudentMapper.deleteById
引用:错误信息"nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.cloud.lowcode.mapper.UserMapper.queryByParam"表示无法找到com.cloud.lowcode.mapper.UserMapper类的queryByParam方法的绑定语句。
根据中的翻译,这个错误信息的中文意思是"嵌套异常是org.apache.ibatis.binding.BindingException:无法绑定当前com.cloud.lowcode.mapper包下的UserMapper类的queryByParam方法"。
首先,我们需要检查启动类的配置。然后,我们可以查看对应的UserMapper.java类,如所示:
```java
package com.cloud.lowcode.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.cloud.lowcode.entity.po.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 用户实体类
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {
List<User> queryByParam(String username);
}
```
以上是UserMapper.java类的源代码。根据代码,我们可以看到UserMapper接口继承了BaseMapper接口,并定义了queryByParam方法,该方法接受一个String类型的参数username,并返回一个List<User>类型的结果。
根据你提供的错误信息"org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.example.mapper.StudentMapper.deleteById",我注意到这个错误信息中的类路径是org.example.mapper.StudentMapper,而不是com.cloud.lowcode.mapper.UserMapper。因此,可能是配置文件或代码中使用了错误的类路径导致无法找到绑定语句。请检查你的配置文件或代码中是否正确引用了com.cloud.lowcode.mapper.UserMapper类的相关方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):xxx问题](https://blog.csdn.net/lvoelife/article/details/128017529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文