解決微服務(wù)下Mybatis?xml無效綁定問題及分析Invalid?bound?statement
問題描述
啟動(dòng)運(yùn)行項(xiàng)目,調(diào)接口時(shí),走到mapper接口處,
報(bào)以下錯(cuò)誤:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
有的人,可能困擾好幾小時(shí),或者一天以上。
分析
1、檢查 mapper 接口和xml文件的定義的namespace 是否可以正常跳轉(zhuǎn)。
2、檢查xml返回類型是否正確 ResultMap 還是ResultType。
3、檢查項(xiàng)目的主配置文件的信息(yaml或者poperties):
- 檢查mybatis.mapper-locations屬性配置的路徑下是否可以找到接口對應(yīng)的xml文件。
4、檢查工程編譯后Target的Classes的文件夾里,對應(yīng)的xml文件,是否是最新的xml文件內(nèi)容,二者是否一致。
- 其實(shí),大多數(shù)并沒有被編譯到Classes 目錄中。
- maven 要執(zhí)行 mvn clean package 【不一定得行、靜態(tài)文件不一定會(huì)加載到target】
- maven 要執(zhí)行 mvn clean install 【得行】 【idea清空緩存、再執(zhí)行此命令】
5、檢查主啟動(dòng)類的注解的value是否正確。
@MapperScan(value = "com.zy.core.mapper")
6、如果使用了微服務(wù)的配置中心,還需要檢查當(dāng)前的項(xiàng)目是使用的哪個(gè)Nacos。
項(xiàng)目的環(huán)境(本地調(diào)試,開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境)不一樣,使用的Nacos配置也不一樣。
- 有自己電腦啟動(dòng)的nacos;
- 有公司搭建的nacos;
- 有不走nacos的配置中心的,走項(xiàng)目的本地配置;
總之, 要明確當(dāng)前的項(xiàng)目的配置(如:數(shù)據(jù)庫連接的信息)應(yīng)該是使用的那個(gè)位置(本地的yaml還是本地的Nacos配置中心、其他的Nacos配置中心)。
如果使用了Nacos配置中心,不管是本地的還是其他的,都要登錄Nacos配置中心去檢查下是否存在相應(yīng)的DataId、group、username、password等信息。
如果存在 ,查看下mybatis.mapper-locations屬性是否與項(xiàng)目里配置的一致。
mybatis: mapper-locations: classpath:com/zy/core/mapper/*Mapper.xml
或者
mybatis-plus: ???????mapper-locations: classpath*:com/zy/core/mapper/mapper/**/**.xml
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決java中mybatis報(bào)錯(cuò):org.apache.ibatis.binding.BindingException:Invalid bound statement(not found):xx問題
- mybatis整合springboot報(bào)BindingException:Invalid?bound?statement?(not?found)異常解決
- 使用mybatis報(bào)Invalid bound statement解決分析
- mybatis創(chuàng)建項(xiàng)目報(bào)Invalid?bound?statement?(not?found)錯(cuò)誤解決方法
- SpringBoot使用MyBatis-Plus解決Invalid?bound?statement異常
- 解決mybatis-plus通用mapper調(diào)用報(bào)錯(cuò):Invalid bound statement
- mybatis Invalid bound statement(not found)排坑記錄
相關(guān)文章
SpringBoot整合RabbitMQ的5種模式實(shí)戰(zhàn)
本文主要介紹了SpringBoot整合RabbitMQ的5種模式實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
IDEA創(chuàng)建父項(xiàng)目和子項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了IDEA創(chuàng)建父項(xiàng)目和子項(xiàng)目的實(shí)現(xiàn)步驟,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
SpringBoot-RestTemplate實(shí)現(xiàn)調(diào)用第三方API的方式
RestTemplate?是由?Spring?提供的一個(gè)?HTTP?請求工具,它提供了常見的REST請求方案的模版,例如?GET?請求、POST?請求、PUT?請求、DELETE?請求以及一些通用的請求執(zhí)行方法?exchange?以及?execute,下面看下SpringBoot?RestTemplate調(diào)用第三方API的方式2022-12-12
使用Java構(gòu)造和解析Json數(shù)據(jù)的兩種方法(詳解二)
這篇文章主要介紹了使用Java構(gòu)造和解析Json數(shù)據(jù)的兩種方法(詳解二)的相關(guān)資料,需要的朋友可以參考下2016-03-03
IDEA創(chuàng)建Servlet編寫HelloWorldServlet頁面詳細(xì)教程(圖文并茂)
在學(xué)習(xí)servlet過程中參考的教程是用eclipse完成的,而我在練習(xí)的過程中是使用IDEA的,在創(chuàng)建servlet程序時(shí)遇到了挺多困難,在此記錄一下,這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建Servlet編寫HelloWorldServlet頁面詳細(xì)教程的相關(guān)資料,需要的朋友可以參考下2023-10-10
maven倉庫中心mirrors配置多個(gè)下載中心(執(zhí)行最快的鏡像)
這篇文章主要介紹了maven倉庫中心mirrors配置多個(gè)下載中心(執(zhí)行最快的鏡像),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
劍指Offer之Java算法習(xí)題精講數(shù)組與列表的查找及字符串轉(zhuǎn)換
跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化2022-03-03

