[MyBatis]詭異的Invalid bound statement (not found)錯誤
阿新 • • 發佈:2018-11-01
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
自從開始使用Maven管理專案,最近在配置MyBatis的Mapper,在Eclipse上除錯時都是正常的,但是最近把專案遷移到 IntelliJ IDEA 上後發現不管是直接用Jetty除錯,還是打成war釋出均報錯。
根據錯誤提示初步判斷是配置的問題,檢查的Spring和MyBatis所有配置檔案,甚至在SVN上回退了程式碼,可問題均沒有解決;無奈暫時換回了Eclipse繼續Coding…
一直懷疑是遷移至IntelliJ IDEA造成的問題,於是自己新建了個Maven專案,除錯MyBatis;可以依舊報錯…無奈直接打包成War打算手動釋出試試…還是不行。無奈解壓了War包,發現包結構極為亂套….
在仔細檢查了之前的專案後,發現Mapper.xml根本就沒打包進去。媽蛋,竟然犯了一個弱智錯誤!
根本就沒打包到Spring配置的位置。
Mapper檔案應該放在Resources資料夾中!這個我竟然忘了!重新調整結構,問題順利解決…
其他原因導致此問題解決參考:
1.
1 |
<
mapper
namespace
=
"me.tspace.pm.dao.UserDao"
>
|
mapper的namespace寫的不對!!!注意系修改。
2.UserDao的方法在UserDao.xml中沒有,然後執行UserDao的方法會報此
3. UserDao的方法返回值是List<User>,而select元素沒有正確配置ResultMap,或者只配置ResultType!
4. 如果你確認沒有以上問題,請任意修改下對應的xml檔案,比如刪除一個空行,儲存.問題解決…