天天看點

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

目錄

  • resource 相對路徑(推薦)
  • file 絕對路徑(棄掉)
  • class 類名
    • 接口和xml名字不一樣
    • 接口和xml不在一個包裡
    • 使用要求
  • package 包映射
    • 接口和xml名字不一樣
    • 接口和xml不在一個包裡
    • 使用要求

四種方式

resource 相對路徑(推薦)

在前面的案例裡,都用的這個,就不說了

沒什麼BUG,路徑寫對就行了

推薦使用

file 絕對路徑(棄掉)

絕對路徑不安全,直接不考慮這個

class 類名

要寫全的相對路徑

目前結構

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

接口和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不在一個包裡

上面已經把名字改成一樣的了,然後再把結構改一下

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

執行,報錯:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 
    com.study.mybatis.dao.PlayersMapper.getPlayersList
           

使用要求

接口和xml必須同名

且必須在同一個包下

package 包映射

目前結構

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

在同一個包下,且命名也一樣

mybatis的xml配置檔案修改

<mappers>
	<package name="com.study.mybatis.dao"/>
</mappers>
           

運作成功,沒有問題

接口和xml名字不一樣

改名

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

執行報錯了:

org.apache.ibatis.binding.BindingException: 
    Invalid bound statement (not found): 
        com.study.mybatis.dao.PlayersMapper.getPlayersList
           

再改名:

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

執行報錯,一樣:

org.apache.ibatis.binding.BindingException: 
    Invalid bound statement (not found): 
        com.study.mybatis.dao.PlayersDao.getPlayersList
           

接口和xml不在一個包裡

結構:

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

執行報錯,和命名不同報的錯一樣:

org.apache.ibatis.binding.BindingException: 
    Invalid bound statement (not found): 
        com.study.mybatis.dao.PlayersDao.getPlayersList
           

改個名:

mybatis學習筆記 3.4 XML配置——mappers(映射器)resource 相對路徑(推薦)file 絕對路徑(棄掉)class 類名package 包映射

執行報錯,還是一樣:

org.apache.ibatis.binding.BindingException: 
    Invalid bound statement (not found): 
        com.study.mybatis.dao.PlayersDao.getPlayersList
           

使用要求

接口和xml必須同名

且必須在同一個包下

和class是一樣的

繼續閱讀