【工作记录】
今天自己使用maven搭建一个SpringMVC+mybatis的项目。过程中遇到一个问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),在此记录一下,以防忘记。
项目启动成功,但是在调用接口时,报mapper 的bind 错误,大概意思是mapper类找不到对应的xml文件。
一开始的xml是写到java目录下的,能自动装配,配置文件里也能识别到,但是就是调用接口是时报错。
如图:
配置文件内容如下,xml的路径是能识别的,但是就是run起来后调用接口就报错:
最后放到resources目录下才可以成功调用接口。问题解决。
原因如下:
maven项目中,java路径下的是需要编译的,识别java文件,但xml不编译,所以在编译后的实际项目文件目录下,在java/mapper这个路径并没有生成xml文件。因为xml不可编译。
而maven项目中的resources目录就是放置配置文件的,在项目编译后,xml文件正常存在。
如果想在java路径下也能编译后生成xml,需要在pom文件中添加配置,把xml生成到java目录下。