出现该异常的原因主要是两块:
1. 没有找到mapper.xml文件
2. mapper.xml中内容有问题(比如nameSpace不对,比如mapper.java中的方法名在xml中不存在)
第二点比较容易排查...仔细看看mapper文件即可;
第一点主要是查看启动文件application.java,当mapper.xml文件没有加载的时候,依然是Invalid bound statement (not found),而不是文件加载失败等指向性更强的异常文案...
例如:
@MapperScan("com.xxx.xxx.*.mapper")
该注解设定了查找包的路径,所以mapper.java已经mapper.xml文件都应该在这个规则的路径之下
mapper.java不在路径中服务会启动失败:没法加载bean到单例缓存池
mapper.xml不在路径中会在接口调用时异常:Invalid bound statement (not found)