Mybatis Invalid bound statement 解决方法
问题
最近使用mybatis框架遇到一个问题,每次在调用mapper的方法时,就会报错:Invalid bound statement (not found)。 显然是xml文件和mapper接口没有绑定好,找了大半天错误。
常见解决方法
常见问题一,mapper.xml文件中的namespace与mapper文件不匹配。
xml文件中的namespace:
mapper文件所在的包的位置:这两个要对应的上
常见问题二,mapper接口中的方法名和mapper.xml中的id标签不一致
xml中的id:
接口中的方法:
这两个地方要一致
常见问题三,Mapper.xml没有被打包
检查target文件夹中有无xml文件。
常见问题四,Mapper.xml没有被放在resources文件夹下或者resources文件没有被标记为资源文件夹
我的问题是,idea多级目录的坑!
上面是我resources文件夹中的内容,在我创建mybatis/mapper文件夹的时候,图方便,直接new directory,输入了mybatis.mapper。然而,最终创建出来的是一个叫mybatis.mapper的文件夹,而不是两个文件夹。再加上我省略了mybatis的配置文件,所以视觉效果上,根本看不出来!