我遇到這個問題后,在網上找了很多,但都是說的官話:
- 檢查mybatis.xml檔案namespace名稱是否和Mapper介面的全限定名是否一致
- 檢查Mapper介面的方法在mybatis.xml中的每個陳述句的id是否一致
- 檢查Mapper介面方法回傳值是否匹配select元素配置的ResultMap,或者只配置ResultType
- 檢查yml檔案中的mapper的XML配置路徑是否正確
用人話來說,我遇到的是兩個問題(舉例)
- 資源下的UserMapper.xml中的namespace要與介面類(interface)UserMapper的地址一致,這個大家應該已經檢查了無數次了,主要是第二種,

- UserMapper.xml檔案在resources下的位置應和介面類Usermapper的位置一致,還是上方那張圖,UserMapper介面的位置是java/tt/mybatis/mapper/UserMapper,那么映射檔案的位置也應該是resources/tt/mybatis/mapper/UserMapper.xml,

注意:
- 如果兩者的位置是錯的,就是如標題所述的錯誤(如下)
- 當我把UserMapper.xml映射檔案的位置由resources/tt/mybatis/mapper/UserMapper.xml改為resources/mapper/UserMapper.xml,就會出錯,

- 當我把UserMapper.xml映射檔案的位置由resources/tt/mybatis/mapper/UserMapper.xml改為resources/mapper/UserMapper.xml,就會出錯,
- 還有一種錯誤是在resources下建立檔案夾時,不能用
tt.mybatis.mapper來建立,得用tt/mybatis/mapper來建立檔案夾,雖然在IDEA中看起來并無兩樣,但是兩者建立的目錄路徑是不同的,(右鍵點擊紅色部分,選擇"Show in Explorer",上為正確的)


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/501436.html
標籤:Java
