(已解決)確定mapper配置無誤,且配置檔案無誤, 執行無誤 出現org.apache.ibatis.binding.BindingException: Invalid bound statemen
(已解決)確定mapper配置無誤,且配置檔案無誤, 執行無誤 出現org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解決方案 – 常見於多模組服務部署下(適用於一個Tomcat例項部署情況)
如果著急修改錯誤 直接看程式碼部分哦
故事回放
今天又是老司機翻車的一天: 最近在做一個基於Maven多模組專案, 依仗著自己多年橫趟單模組實現SSM的經歷, 覺得多模組僅僅就是1 + 1 = 2的問題, 哪層料想, 這樣天真的想法被現實一頓毒打
拿著以往的配置, 在maven的各個模組一頓CV操作, 是真的香; 只可恨maven看不慣你這麼舒服 非要搞你心態:
好不容易做完一個業務邏輯,準備啟動部署測試, 整個過程一氣呵成, 沒有任何錯誤 非常順利, 這個順利甚至讓我以為自己已經是大佬了嗎(居然可以一次性部署成功)
開啟postMan興高采烈在url上一頓準備測試, 心中早已預判了點下send按鈕的出現喜悅畫面已經想好如何吹逼自己牛b的時候.
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
當頭棒喝 (藍瘦香菇)
本能地以為就是自己那裡CV操作有誤(還沉浸在自己一統單模組部署ssm
的世界裡, 無法自拔) 1個鐘頭過去了,沒有任何進展 於是乎打算一一對比配置檔案 甚至還一一對應mapper
檔案,就這樣 2個鐘頭過去了仍然解決不了, 心態開始崩了 終於放下最後的倔強(我是大佬, 我可以自己解決的) 求助度娘
結果都在說要麼是配置檔案寫錯了, 要麼包匯入錯了 要麼mapper檔案(初學者必踩)寫錯了 總之搜了一圈大同小異, 沒有實質進展
後來我開始轉而去找其他人做的多模組專案 對比Maven配置檔案(也許是出於經驗, 我本能的想到多模組下maven的特殊性可能會出現一些問題) 終於在一個大佬的配置中發現了 一個不起眼的引數配置
<filtering>true</filtering>
為了便於理解我貼出它的精確位置
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
起初我沒太在意這個東西, 因為自己曾經也用過maven部署web專案 沒有加入過這個配置 也能訪問 所以沒怎麼care, 後來實在是沒轍了 就死馬當活馬醫,
結果是加入後瞬間起飛 : 一方面感動自己 一方面懵逼良久
究其原因
首先這個引數的含義是: 啟動配置檔案中的**${}**過濾 比如我們在配置檔案常常定義一些引數 最常見就是db.properties的驅動引數
你在spring的配置檔案中使用時是不是採用**${}**進行訪問 它的作用就是開啟這個符號的識別(預設是關閉的)
那為啥以前不用配置 也能正常訪問?
以下內容為筆者推斷不具備真實性, 請慎重考慮
-
我首先想到以前我們處理的專案就只有一個web模組 也就是說所有有關的配置檔案都在一起, 那麼maven完全可以基於單模組自動識別 同一個resource下的資源
-
而多模組下, 我們有好幾個web模組也就是說會有多個resource目錄 那maven就無法判斷了(詳見註解)如果你用${}去訪問資源 那麼到底訪問那一個資源呢(比如同時依賴db.properties進行資料庫的訪問) 所以maven在開啟了pom.xml的一個引數配置
filting
如果顯示指定為true
那麼肯定是訪問當前模組的資源目錄注意:這裡無法判斷是指 在同一個Tomcat環境下 部署多個war 或者說多模組啟動都是基於一個Tomcat例項 如果你是把多模組部署分別在不同的tomcat裡那麼 本文自動失效
以上就是筆者的大膽推論, 至於驗證就留待以後解決,如果各位童鞋有確定的想法可以在評論留言哦!
彩蛋
有沒有童鞋還不會配置tomcat同時部署多個war或者雖然你部署了多個但是隻能啟動一個吶?
原因很簡單: 看截圖哦
看懂了嗎 現在可以啟動了 進行的玩耍你的多模組專案吧!
相關文章
- Invalid bound statement (not found)錯誤解決
- 執行無法解決的編譯錯誤編譯
- FileUpload上傳多檔案時出現“無法訪問已關閉的檔案”錯誤的解決方法
- ClamAV無法更新錯誤解決
- 在RAC 中解決 vipca 和 srvctl 無法執行的錯誤PCA
- MyBatis 錯誤:Invalid bound statement (not found)MyBatis
- 電腦dns配置錯誤無法上網怎麼辦 dns配置錯誤不能上網DNS
- win10系統Rstudio無法啟動或執行出現錯誤的解決步驟Win10
- Win7 IIS7 配置錯誤由於許可權不足而無法讀取配置檔案的解決辦法Win7
- mybatis配置時出現org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)MyBatisApacheException
- dns配置錯誤網頁打不開 電腦dns配置錯誤無法上網怎麼辦DNS網頁
- 關於org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),找不到mapper檔案問題解決ApacheBATExceptionAPP
- win10ip地址配置錯誤網路無法連線怎麼辦 ip地址配置錯誤網路無法連線的方法Win10
- MyBatis繫結錯誤:org.apache.ibatis.binding.BindingException:Invalid bound statement (not found)MyBatisApacheException
- steam確認錯誤執行此操作時出現問題怎麼解決
- 啟動騰訊軟體出現“應用程式無法啟動並行配置不正確”解決並行
- 配置nagios出現的錯誤iOS
- Winform無法載入基類的錯誤解決ORM
- tail +數字 無法開啟錯誤解決(ubutu)AI
- 解決properties、xml等配置檔案無法找到問題XML
- 初學,tomcat對配置的404錯誤無法響應!Tomcat
- hadoop配置、執行錯誤總結Hadoop
- mybatis配置執行報出Caused by: org.apache.ibatis.binding.BindingException:相關錯誤解決或者空指標異常MyBatisApacheException指標
- 誤刪除InnoDB ibdata資料檔案(無備份)
- 移動檔案出現 invalid cross-device link 錯誤ROSdev
- 查詢外部表出現無法開啟日誌檔案的錯誤
- win10系統無法執行掃描程式提示scanner錯誤怎麼解決Win10
- 執行Bex 出現 61704 錯誤
- 解決org.apache.ibatis.binding.BindingException: Invalid boundApacheBATException
- win10誤刪登錄檔無法開機怎麼辦 恢復誤刪登錄檔的解決方法Win10
- 行動硬碟出現 檔案目錄損壞且無法讀取 解決方法教程(一)硬碟
- 行動硬碟出現 檔案目錄損壞且無法讀取 解決方法教程(二)硬碟
- 改寫linux rm防止誤刪檔案無法恢復Linux
- Windows 10安裝錯誤:0x80300024無法安裝到該盤且無法新建分割槽 & 格式化錯誤及解決方案Windows
- .gitignore檔案配置以及gitee提交報Push rejected...錯誤解決Gitee
- hadoop配置、執行錯誤總結一Hadoop
- Eclipse出現“錯誤:找不到或無法載入主類”Eclipse
- dbua後資料庫無法啟動錯誤的解決資料庫