弄毕设,用IDEA开发,这个问题困扰我两天,我也不知道是从哪个问题慢慢变成这个问题的,既然只记得这个报错就先记录下来。
我的完整报错信息是Invalid bound statement (not found): pers.zjc.sams.dao.UserMapper.getAllUser
大概意思就是说找不到我的UserMapper里面的getAllUser方法,一通百度,各种配置文件看了又看,改了又改,确认都没有问题。最后锁定目光在target文件下,这个是编译后生成的文件存放位置,有class文件和各种资源文件等,奇怪的是,我的dao包下面只有我的UserMapper.java而并没有生成UserMapper.xml文件。
原来对于MAVEN项目,Eclipse会自动把项目src\main\java\目录下的配置文件(.xml)和资源文件(.properties)搬运到target目录下,而intellij idea默认是不会帮我们做这件事的。
要去pom.xml中<build>节点下,添加如下代码:
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
这样就解决了,感谢博主:解决使用intellij idea开发MAVEN项目在target目录下不存在mapper.xml文件