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