天天看点

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx问题解决

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxx

主要原因就是xml和mapper没有完整有效的匹配起来,所以查询没能成功。

这种情况dubug是可以看到步骤正常走到了调用的具体方法的,方法内部返回的报错。

可能的原因有几个,主要还是手误和配置两大类

— 手误类 —

1.mapper和xml名字不一样

手写的时候按得快了,某个字母顺序反了,导致两个

仔细核对,,要不就复制mapper的名字重命名xml

2.xml中的namespace的路径和mapper的不一致

十有八九还是手写的问题,尽量复制粘贴吧,如果ctrl+左键点击能跳转,说明没问题,排查下一个

3.xml的id和mapper中的方法名不一样

手误问题,复制粘贴解决

4xml中的中文注释和异常不可见符号(空格回车等)

怀疑是文件系统保存等的问题,可以试试

— 配置类 —

5.打包时*Mapper.xml没有自动复制到class输出目录的mapper类包下

配置pom文件,build添加如下
  <resources>
    <resource>
        <directory>src/main/java</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
    </resource>
  </resources>
</build>
           

6.没有扫描到xml文件

配置文件中增加mapper的扫描位置

这个也可能配错路径,谁知道呢

mybatis-plus.mapper-locations=classpath:/com/自己位置/*.xml