使用Mybatis时遇到的一个问题

使用Mybatis时遇到的一个奇怪的问题。

在使用Mybatis的时候出现了如下问题:

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

出现这个一般都是Mapper的XML文件和Mapper的接口文件没有对应上。

但是我仔细看了很久都没发现哪里出错了,网上也看了各种解决办法,也都没什么收获,我的用法都是正确的。

最后我到命令行下看了一下Mapper的XML文件的所在路径后发现了问题所在。

这些XML文件的路径是在resources/com.mark.dao文件夹下而不是resources/com/mark/dao文件夹下。

原来我在用IDE在resources下创建文件夹的时候,输入文件夹名的时候我习惯性的和创建包名一样直接写了com.mark.dao,所以创建出来的文件夹是com.mark.dao而不是com/mark/dao。由于我在IDE中的Project View设置了compact empty midlle package项,导致这两者在IDE很难看出区别来。