MyBatis-Plus找不到Mapper.xml文件的幾種解決方法
在整合SpringBoot和Mybatis-plus時(shí),想寫自定義的sql,所以創(chuàng)建了Mapper.xml文件,但是啟動(dòng)后卻老是報(bào)錯(cuò):
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
很明顯,是Mapper.xml未被掃描到。
此類問題的解決方式實(shí)際上都是配置上有問題,以下列出了一些解決方式。
方式1:Mapper的命名空間和Dao層的接口。
Mapper.xml文件中,<mapper namespace="這里填寫映射的Mapper.java完整路徑,如:com.test.Mapper">
方式2:如果Mapper.xml文件是放到j(luò)ava目錄下,那么在項(xiàng)目的pom.xml文件中需要添加:
<build> ? ? ? ? <resources> ? ? ? ? ? ? <resource> ? ? ? ? ? ? ? ? <directory>src/main/java</directory> ? ? ? ? ? ? ? ? <includes> ? ? ? ? ? ? ? ? ? ? <include>**/*.xml</include> ? ? ? ? ? ? ? ? </includes> ? ? ? ? ? ? </resource> ? ? ? ? </resources> </build>
方式3:注意在.yml配置文件中不要弄混淆Mybatis和Mybatis-plus的配置
比如項(xiàng)目pom.xml中引用的是Mybatis-plus的starter,其中已經(jīng)包含了Mybatis了,配置文件中最好統(tǒng)一寫成Mybatis-plus的配置:
mybatis: ? ? mapper-locations: classpath:com/*/mapper/xml/*.xml
改成
mybatis-plus: ? ? mapper-locations: classpath:com/*/mapper/xml/*.xml
方式4:如果是多子模塊的項(xiàng)目,Mapper.xml文件是在子模塊項(xiàng)目中,那么記得在classpath后面加*,代表掃描子項(xiàng)目的Mapper.xml文件
mybatis-plus:
mapper-locations: classpath*:com/*/mapper/xml/*.xml
方式5:我最近放的一個(gè)小錯(cuò)誤,就是我的Mapper.xml文件是放在不同層次不同包下的,我配置了很多個(gè)掃描位置:
mybatis-plus:
mapper-locations: classpath*:com/*/mapper/xml/*.xml,com/test/*/mapper/xml/*.xml,/xml/*.xml
配置好發(fā)現(xiàn)依然報(bào)未掃描到Mapper.xml文件,后來發(fā)現(xiàn),我的Mapper.xml文件是放到子模塊中的"com/test/*/mapper/xml"目錄下,配置應(yīng)該要繼續(xù)帶上classpath*:
上面的配置改成:
mybatis-plus:
mapper-locations: classpath*:com/*/mapper/xml/*.xml,classpath*:com/test/*/mapper/xml/*.xml,/xml/*.xml
因?yàn)槁窂角懊娌粠н@個(gè)"classpath*"它默認(rèn)是使用的"classpath",導(dǎo)致掃描不到子模塊項(xiàng)目的Mapper.xml文件。
總結(jié)
到此這篇關(guān)于MyBatis-Plus找不到Mapper.xml文件的幾種解決方法的文章就介紹到這了,更多相關(guān)MyBatis-Plus找不到Mapper.xml文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot一個(gè)非常蛋疼的無法啟動(dòng)的問題解決
這篇文章主要介紹了SpringBoot一個(gè)非常蛋疼的無法啟動(dòng)的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11解決springboot MultipartFile文件上傳遇到的問題
本文給大家?guī)砹私鉀Qspringboot MultipartFile文件上傳遇到的問題,解決方法超簡(jiǎn)單,感興趣的朋友參考下本文2018-08-08JAVA如何獲取jvm和操作系統(tǒng)相關(guān)信息
這篇文章主要介紹了JAVA獲取jvm和操作系統(tǒng)相關(guān)信息,使用Java自帶的類進(jìn)行獲取系統(tǒng)運(yùn)行的相關(guān)信息,在這整理記錄分享一下,需要的朋友可以參考下2022-10-10Spring security實(shí)現(xiàn)對(duì)賬戶進(jìn)行加密
這篇文章主要介紹了Spring security實(shí)現(xiàn)對(duì)賬戶進(jìn)行加密,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java輕松實(shí)現(xiàn)批量插入或刪除Excel行列操作
在職場(chǎng)生活中,對(duì)Excel工作表的行和列進(jìn)行操作是非常普遍的需求,下面小編就來和大家介紹一下如何在Java中完成批量插入、刪除行和列的操作吧2023-10-10MyBatis Plus 將查詢結(jié)果封裝到指定實(shí)體的方法步驟
這篇文章主要介紹了MyBatis Plus 將查詢結(jié)果封裝到指定實(shí)體的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09SpringBoot 多任務(wù)并行+線程池處理的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot 多任務(wù)并行+線程池處理的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04