使用IDEA整合Spring和Mybatis,報出org.apache.ibatis.binding.BindingException:Invalid bound statement問題

1、簡介
第一次使用IDEA的maven搭建java web項目,和eclipse比感覺有點頭疼,頭次感覺eclipse比IDEA好用,可能是沒有用習慣的緣故吧!好了我來說一下我在搭建Spring和Mybatis整合遇到的坑,最後經過多方搜索和對比解決了問題。

2、細節問題
在網上找了很多的細節問題(如下,摘自https://blog.csdn.net/sundacheng1989/article/details/81630370),然後和我的做對比發現沒有任何的問題:
加粗樣式
3、根本原因
我看了我的mybatis工程發現mapper文件和接口在main的同包下,經過maven的clean install查看target文件發現,如下圖(3-1):
在這裏插入圖片描述
發現根本沒有把mapper的文件給編譯進來,在執行操作的時候纔會報出org.apache.ibatis.binding.BindingException:Invalid bound statement錯誤。
然後我又把mapper文件給放入resources的文件夾下發,經過clean install查看target文件發現,如下圖(3-2):
在這裏插入圖片描述
感覺有點莫名其妙,明明包名相同爲什麼不放在一個文件夾下,還分開放,好吧執行數據庫操作仍然報上面的錯誤,無奈。。。。
4、解決辦法
把mapper文件和接口放在java的同一目錄下,如圖(3-1)的解決方法是在mybatis工程的pom文件加入:

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

原因是因爲 idea默認是不編譯 src\main\java下的xml文件

加入之後在使用maven -> clean 在 install 就會在編譯後的target文件下發現mapper文件和mapper接口在一放起了,
在這裏插入圖片描述
在執行操作發現已經成功了,到這裏已經解決了,但在resource文件夾下還不知道怎麼解決,歡迎指教!額,浪費了兩天的時間在瞎轉悠,特此記錄一下。。

發佈了5 篇原創文章 · 獲贊 3 · 訪問量 807
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章