今天在重作 iblog 客戶端時,測試接口狀況,發現了java
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)::iblog.server_java.dao.AuthorDao.selectForLoginapache
的報錯。通過排查,基本定位爲 AuthorMapper.xml 文件中的問題。可是檢查 namespace 屬性的Dao路徑又沒發現什麼問題。app
上網搜索了一陣,答案所有都是讓檢查路徑或者文件名有沒有錯,但是都沒發現問題。測試
後來回想寫 Mapper 文件時,時複製粘貼 iReview 項目的,對比了它們的路徑,也沒發現問題,難道就無解了?spa
<mapper namespace="main.java.iReview.dao.UsersDao">
<mapper namespace="main.java.iblog.server_java.dao.AuthorDao">
後來,通過仔細對比,先後兩個項目的不一樣之處在於項目路徑,iReview 是在 main.java.main.java 下,而 iblog 是在 main.java 之下。code
猜想 Mapper 文件 namespace 屬性的路徑是不用帶默認的 main.java ,因而把它刪了,再測試,果真沒問題了。server
<mapper namespace="iblog.server_java.dao.AuthorDao">
又漲知識了^_^xml