淺談關(guān)于Mybatis的mapper-locations配置問題
一、Spring-boot配置mybatis的mapper-locations解決什么問題?
mapper-locations
顧名思義是一個定義mapper位置的屬性 在yml或properties下配置,作用是實現(xiàn)mapper接口配置見mapper和接口的綁定。
使用場景:
當mapper接口和mapper接口對應(yīng)的配置文件在
- 命名上相同
- 所在的路徑相同

則mapper-locations可以不用配置,配置也不會生效。
但是,如果 當mapper接口和mapper接口對應(yīng)的配置文件在
- 命名上不同或
- 所在的路徑不同
之一不同,需要配置mapper-locations才能實現(xiàn)接口的綁定

mapper接口:com.liuzeyu.mapper.UserMapper.java 配置文件:mapper.UserMapper.xml
實現(xiàn)接口綁定需要在配置文件中配置:
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
二、該怎么配置?
形如 mapper-locations: classpath*:mapper/*.xml 本質(zhì)在于把mapper的位置告訴springboot,類似主啟動類中mapperscan的作用,但是這里多了一個classpath,這是沒有在原本的包結(jié)構(gòu)中出現(xiàn)過的。

但是,我們運行項目,會發(fā)現(xiàn)target文件的結(jié)構(gòu)。

原本的src/main/java下的文件全部放在com中,而resource內(nèi)的文件則跟com處于同級目錄。classpath就代表這里的classes。
三、classpath和classpath*的區(qū)別
classpath:只會到你的class路徑中查找找文件。
classpath*:不僅包含class路徑,還包括jar文件中(class路徑)進行查找。
注意: 用classpath*:需要遍歷所有的classpath,所以加載速度是很慢的;因此,在規(guī)劃的時候,應(yīng)該盡可能規(guī)劃好資源文件所在的路徑,盡量避免使用classpath*。
到此這篇關(guān)于淺談關(guān)于Mybatis的mapper-locations配置問題的文章就介紹到這了,更多相關(guān)Mybatis的mapper-locations配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot不掃描@repository的問題及解決
這篇文章主要介紹了springboot不掃描@repository的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
用SpringBoot Admin監(jiān)控SpringBoot程序
這篇文章主要介紹了用SpringBoot Admin監(jiān)控SpringBoot程序,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-10-10
詳解Mybatis攔截器安全加解密MySQL數(shù)據(jù)實戰(zhàn)
本文主要介紹了Mybatis攔截器安全加解密MySQL數(shù)據(jù)實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
多jdk環(huán)境下指定springboot外部配置文件詳解
這篇文章主要為大家介紹了多jdk環(huán)境下指定springboot外部配置文件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
Java實現(xiàn)讀取html文本內(nèi)容并按照格式導出到excel中
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)讀取html文本提取相應(yīng)內(nèi)容按照格式導出到excel中,文中的示例代碼講解詳細,需要的可以參考下2024-02-02

