使用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很难看出区别来。