解決org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...


在IDEA中將xxxMapper.xml文件創建在(src/main/java)目錄中,運行報錯:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.gentlehu.diary.mapper.TestMapper.findById(id);

意思是沒找到TestMapper的findById方法還有這個類的其他方法。

 

找了好久,發現在idea生成的classes中沒有DiaryMapper.xml文件。

原來在IDEA中目錄是普通屬性,所以它的(src/main/java)目錄中的只有.java文件會默認編譯,.xml文件不會被編譯。

而在MyEclipse中可以運行的,因為MyEclipse中建立的是目錄(src/main/java)的屬性是資源目錄,所以MyEclipse識別了這個屬性會自動把這個目錄的所有內容編譯生成在classes中。

所以需要在maven的pom.xml中配置一下節點

<project>
        ......
        <build>
            <resources>
        <resource>
            <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        </build>
</project>

然后IDEA才會編譯.xml文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM