淺談關(guān)于Mybatis的mapper-locations配置問題
一、Spring-boot配置mybatis的mapper-locations解決什么問題?
mapper-locations
顧名思義是一個(gè)定義mapper位置的屬性 在yml或properties下配置,作用是實(shí)現(xiàn)mapper接口配置見mapper和接口的綁定。
使用場(chǎng)景:
當(dāng)mapper接口和mapper接口對(duì)應(yīng)的配置文件在
- 命名上相同
- 所在的路徑相同
則mapper-locations可以不用配置,配置也不會(huì)生效。
但是,如果 當(dāng)mapper接口和mapper接口對(duì)應(yīng)的配置文件在
- 命名上不同或
- 所在的路徑不同
之一不同,需要配置mapper-locations才能實(shí)現(xiàn)接口的綁定
mapper接口:com.liuzeyu.mapper.UserMapper.java 配置文件:mapper.UserMapper.xml
實(shí)現(xiàn)接口綁定需要在配置文件中配置:
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
二、該怎么配置?
形如 mapper-locations: classpath*:mapper/*.xml 本質(zhì)在于把mapper的位置告訴springboot,類似主啟動(dòng)類中mapperscan的作用,但是這里多了一個(gè)classpath,這是沒有在原本的包結(jié)構(gòu)中出現(xiàn)過的。
但是,我們運(yùn)行項(xiàng)目,會(huì)發(fā)現(xiàn)target文件的結(jié)構(gòu)。
原本的src/main/java下的文件全部放在com中,而resource內(nèi)的文件則跟com處于同級(jí)目錄。classpath就代表這里的classes。
三、classpath和classpath*的區(qū)別
classpath:只會(huì)到你的class路徑中查找找文件。
classpath*:不僅包含class路徑,還包括jar文件中(class路徑)進(jìn)行查找。
注意: 用classpath*:需要遍歷所有的classpath,所以加載速度是很慢的;因此,在規(guī)劃的時(shí)候,應(yīng)該盡可能規(guī)劃好資源文件所在的路徑,盡量避免使用classpath*。
到此這篇關(guān)于淺談關(guān)于Mybatis的mapper-locations配置問題的文章就介紹到這了,更多相關(guān)Mybatis的mapper-locations配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Hadoop源碼分析六啟動(dòng)文件namenode原理詳解
本篇是Hadoop源碼分析系列文章第六篇,主要介紹Hadoop中的啟動(dòng)文件namenode,后續(xù)本系列文章會(huì)持續(xù)更新,有需要的朋友可以借鑒參考下2021-09-09支票金額大寫轉(zhuǎn)換示例(金額大寫轉(zhuǎn)換器)
這篇文章主要介紹了支票金額大寫轉(zhuǎn)換示例(金額大寫轉(zhuǎn)換器),需要的朋友可以參考下2014-02-02Java練習(xí)之潛艇小游戲的實(shí)現(xiàn)
這篇文章主要和大家分享一個(gè)Java小練習(xí)——利用Java編寫一個(gè)潛艇小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-03-03java 中序列化與readResolve()方法的實(shí)例詳解
這篇文章主要介紹了java 中序列化與readResolve()方法的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例幫助大家理解這部分知識(shí),需要的朋友可以參考下2017-08-08SpringBoot集成Mybatis-Plus多租戶架構(gòu)實(shí)現(xiàn)
本文主要介紹了SpringBoot集成Mybatis-Plus多租戶架構(gòu)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09jdk8的datetime時(shí)間函數(shù)使用示例
這篇文章主要介紹了jdk8的datetime時(shí)間函數(shù)使用示例,需要的朋友可以參考下2014-03-03