mybatis常見報錯之(Invalid bound statement (not found):)!!


在寫好代碼的時候,編譯正常但是在調用接口的時候卻報 Invalid bound statement (not found):錯誤,這個錯誤有以下幾種可能
    1.檢查xml文件所在package名稱是否和Mapper interface所在的包名

        <mapper namespace="me.tspace.pm.dao.UserDao">
         mapper的namespace寫的不對!!!注意系修改。

    2.UserDao的方法在UserDao.xml中沒有,然后執行UserDao的方法會報此

    3. UserDao的方法返回值是List<User>,而select元素沒有正確配置ResultMap,或者只配置ResultType!

    4. 如果你確認沒有以上問題,請任意修改下對應的xml文件,比如刪除一個空行,保存.問題解決

    5.看下mapper的XML配置路徑是否正確

重點來了!!!
        當以上幾種可能都正確的情況下,看一看編譯器的target目錄下編譯好的的class文件,看一看mapper(按照自己起的名字找)文件夾下是否有xxxmapper.XMl文件加載進來

 

在以上五種情況都滿足的情況下應該就是這個問題了(IDE不加載.XML文件)

  解決辦法:
          在你IDE的pom文件中添加以下代碼:
            <build>
                    <resources>
                        <!-- mapper.xml文件在java目錄下 -->
                        <resource>
                            <directory>src/main/java</directory>
                            <includes>
                                <include>**/*.xml</include>
                            </includes>
                        </resource>
                        <!-- mapper.xml文件在resources目錄下-->
                        <resource>
                        <directory>src/main/resources</directory>
                    </resource>
                    </resources>
        </build>
這時找到maven依賴將下面代碼放進build節點中(如果pom文件中有build節點就可以省去build節點)


免責聲明!

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



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