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的文件夾!??!
這樣會(huì)導(dǎo)致.java文件和.xml文件位置不同,這個(gè)位置坑了我一個(gè)小時(shí),希望各位注意一下。
Mybatis中mappers標(biāo)簽介紹
MyBatis 是基于 sql 映射配置的框架,sql 語句都寫在 Mapper 配置文件中,當(dāng)構(gòu)建 SqlSession 類之后,就需要去讀取 Mapper 配置文件中的 sql 配置。
而 mappers 標(biāo)簽就是用來配置需要加載的 sql 映射配置文件路徑的。
配置方式
mappers 標(biāo)簽下有許多 mapper 標(biāo)簽,每一個(gè) mapper 標(biāo)簽中配置的都是一個(gè)獨(dú)立的映射配置文件的路徑,配置方式有以下幾種
1.接口所在包
package標(biāo)簽,通過name屬性指定mapper接口所在的包名 ,
此時(shí)對(duì)應(yīng)的映射文件必須與接口位于同一路徑下,并且名稱相同
<mappers> <!-- mapper接口所在的包名 --> <package name="com.i.mapper"/> </mappers>
2.相對(duì)路徑配置
mapper標(biāo)簽,通過resource屬性引入classpath路徑的相對(duì)資源
<mappers>
<!-- 通過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)簽,通過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)簽,通過url引入網(wǎng)絡(luò)資源或者本地磁盤資源
<mappers> <mapper url="xml文件訪問URL" /> <mapper url="file:///var/mappers/UserMapper.xml"/> </mappers>
使用總結(jié)
只有配置了 mappers 信息后,MyBatis 才知道去哪里加載 Mapper 映射文件,
開發(fā)中,根據(jù)項(xiàng)目中 Mapper 的配置偏好,選擇整合配置文件的配置方式
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解
這篇文章主要介紹了SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Spring ApplicationContextAware 接口的作用及使用方式
Spring提供了許多回調(diào)接口,用于Bean生命周期中執(zhí)行特定的操作,通過實(shí)現(xiàn)ApplicationContextAware接口,Spring提供了一種便捷的方式讓 Bean獲取對(duì)Spring容器的引用,本文介紹ApplicationContextAware接口的作用、使用方式,以及在實(shí)際應(yīng)用中的常見場(chǎng)景,感興趣的朋友一起看看吧2024-01-01
java中g(shù)et()方法和set()方法的作用淺析
這篇文章主要給大家介紹了關(guān)于java中g(shù)et()方法和set()方法的作用,set是是對(duì)數(shù)據(jù)進(jìn)行設(shè)置,而get是對(duì)數(shù)據(jù)進(jìn)行獲取,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07

