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文件夾下還不知道怎麼解決,歡迎指教!額,浪費了兩天的時間在瞎轉悠,特此記錄一下。。