Mybatis mapper標(biāo)簽中配置子標(biāo)簽package的坑及解決
mapper標(biāo)簽中配置子標(biāo)簽package的坑
首先java目錄下的.java文件和resources下的.xml文件必須要在同一目錄下,但是在resource中創(chuàng)建目錄時(shí)不要順手像在java文件中創(chuàng)建包一樣,直接創(chuàng)建了com.mapper文件夾,這樣不是創(chuàng)建了com - mapper兩個(gè)文件夾,而是創(chuàng)建了一個(gè)叫做com.mapper的文件夾!?。?/p>
這樣會(huì)導(dǎo)致.java文件和.xml文件位置不同,這個(gè)位置坑了我一個(gè)小時(shí),希望各位注意一下。
Mybatis中mappers標(biāo)簽介紹
MyBatis 是基于 sql 映射配置的框架,sql 語(yǔ)句都寫(xiě)在 Mapper 配置文件中,當(dāng)構(gòu)建 SqlSession 類之后,就需要去讀取 Mapper 配置文件中的 sql 配置。
而 mappers 標(biāo)簽就是用來(lái)配置需要加載的 sql 映射配置文件路徑的。
配置方式
mappers 標(biāo)簽下有許多 mapper 標(biāo)簽,每一個(gè) mapper 標(biāo)簽中配置的都是一個(gè)獨(dú)立的映射配置文件的路徑,配置方式有以下幾種
1.接口所在包
package標(biāo)簽,通過(guò)name屬性指定mapper接口所在的包名 ,
此時(shí)對(duì)應(yīng)的映射文件必須與接口位于同一路徑下,并且名稱相同
<mappers> <!-- mapper接口所在的包名 --> <package name="com.i.mapper"/> </mappers>
2.相對(duì)路徑配置
mapper標(biāo)簽,通過(guò)resource屬性引入classpath路徑的相對(duì)資源
<mappers> <!-- 通過(guò)resource屬性引入classpath路徑的相對(duì)資源--> <mapper resource="com/i/mapper/FlowerMapper.xml"/> <mapper resource="com/i/mapper/StudentMapper.xml"/> <mapper resource="com/i/mapper/TeacherMapper.xml"/> </mappers>
3.類注冊(cè)引入
mapper標(biāo)簽,通過(guò)class屬性指定mapper接口名稱,
此時(shí)對(duì)應(yīng)的映射文件必須與接口位于同一路徑下,并且名稱相同
<mappers> <!-- 使用接口信息進(jìn)行配置 --> <mapper class="com.i.mapper.FlowerMapper"/> <mapper class="com.i.mapper.StudentMapper"/> <mapper class="com.i.mapper.TeacherMapper"/> </mappers>
4.使用URL絕對(duì)路徑方式引入(不用)
mapper標(biāo)簽,通過(guò)url引入網(wǎng)絡(luò)資源或者本地磁盤(pán)資源
<mappers> <mapper url="xml文件訪問(wèn)URL" /> <mapper url="file:///var/mappers/UserMapper.xml"/> </mappers>
使用總結(jié)
只有配置了 mappers 信息后,MyBatis 才知道去哪里加載 Mapper 映射文件,
開(kāi)發(fā)中,根據(jù)項(xiàng)目中 Mapper 的配置偏好,選擇整合配置文件的配置方式
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEAx導(dǎo)出安卓(Android)apk文件圖文教程
這篇文章主要為大家詳細(xì)介紹了IntelliJ IDEAx導(dǎo)出安卓(Android)apk文件圖文教程,文中步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10SpringBoot3 響應(yīng)式網(wǎng)絡(luò)請(qǐng)求客戶端的實(shí)現(xiàn)
本文主要介紹了SpringBoot3 響應(yīng)式網(wǎng)絡(luò)請(qǐng)求客戶端的實(shí)現(xiàn),文章詳細(xì)闡述了如何使用SpringBoot3的網(wǎng)絡(luò)請(qǐng)求客戶端進(jìn)行HTTP請(qǐng)求和處理響應(yīng),并提供了示例代碼和說(shuō)明,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08使用Netty解決TCP粘包和拆包問(wèn)題過(guò)程詳解
這篇文章主要介紹了使用Netty解決TCP粘包和拆包問(wèn)題過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07springboot 集成redis哨兵主從的實(shí)現(xiàn)
本文主要介紹了springboot 集成redis哨兵主從的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07SpringBoot + SpringSecurity 環(huán)境搭建的步驟
這篇文章主要介紹了SpringBoot + SpringSecurity 環(huán)境搭建的步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05JDK17在Windows安裝及環(huán)境變量配置超詳細(xì)的教程
這篇文章主要介紹了JDK17在Windows安裝及環(huán)境變量配置超詳細(xì)的教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11