一.错误:Invalid bound statement (not found): com.yealink.example.dao.UserMapper.getUserByUserInfo
二.解决过程
项目用spring+springMVC+mybatis;
我们发现他读不到userMapper.xml文件,后面查询在编译好的文件中,UserMapper.xml文件并没有引入进来,这就是导致出现这个问题的原因;
找到原因后我们在:选中项目 右击选中build path->configure build path->选中source,查看源文件下的Included:**/*.java ,表明编译后只把.java文件编译成.class后引入,其他的.xml文件不会引入,所以就会出现这个错误;
三.解决办法:将Included:**/*.java Remove掉
重新编译后发现.xml文件已经存在了,问题解决;
四.备注
但是如果你建立的是maven工程,每次用maven命令重新编译eclipse工程时,上述问题又会出现,因为Included:**/*.java为默认的,所以解决办法是在.pom文件中加入这一段配置
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
意思是每次用maven编译时它会将src/main/java和src/main/resources下的所有文件都进行引入,所以问题完美解决;