弄畢設,用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文件