目錄
- resource 相對路徑(推薦)
- file 絕對路徑(棄掉)
- class 類名
-
- 接口和xml名字不一樣
- 接口和xml不在一個包裡
- 使用要求
- package 包映射
-
- 接口和xml名字不一樣
- 接口和xml不在一個包裡
- 使用要求
四種方式
resource 相對路徑(推薦)
在前面的案例裡,都用的這個,就不說了
沒什麼BUG,路徑寫對就行了
推薦使用
file 絕對路徑(棄掉)
絕對路徑不安全,直接不考慮這個
class 類名
要寫全的相對路徑
目前結構

接口和xml名字不一樣
mybatis的xml配置檔案修改
<mappers>
<mapper class="com.study.mybatis.dao.PlayersMapper"></mapper>
</mappers>
執行,報錯:
java.lang.ClassNotFoundException: Cannot find class:
com.study.mybatis.dao.PlayersMapper
現在改名,把PlayersDao.java改成PlayersMapper.java
mapper xml裡namespace也要改成PlayersMapper
再執行,成功
接口和xml不在一個包裡
上面已經把名字改成一樣的了,然後再把結構改一下
執行,報錯:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
com.study.mybatis.dao.PlayersMapper.getPlayersList
使用要求
接口和xml必須同名
且必須在同一個包下
package 包映射
目前結構
在同一個包下,且命名也一樣
mybatis的xml配置檔案修改
<mappers>
<package name="com.study.mybatis.dao"/>
</mappers>
運作成功,沒有問題
接口和xml名字不一樣
改名
執行報錯了:
org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found):
com.study.mybatis.dao.PlayersMapper.getPlayersList
再改名:
執行報錯,一樣:
org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found):
com.study.mybatis.dao.PlayersDao.getPlayersList
接口和xml不在一個包裡
結構:
執行報錯,和命名不同報的錯一樣:
org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found):
com.study.mybatis.dao.PlayersDao.getPlayersList
改個名:
執行報錯,還是一樣:
org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found):
com.study.mybatis.dao.PlayersDao.getPlayersList
使用要求
接口和xml必須同名
且必須在同一個包下
和class是一樣的