關於spring+mybatis多數據源,報Invalid bound statement的問題


(這裏順便插個簡單的介紹,現在spring+mybitis的多數據源配置主要有兩種方式。

   一是採用spring配置文件直接配置多個數據源,此種方式的話,兩個數據庫的事務在不同的service中分別操作。

          另一種是基於 AbstractRoutingDataSource 和 AOP 的多數據源的配置,此方式的特點是,可以在service中混合操作不同的數據源,需要哪個調用哪個。

         變懶了,就不寫例子了,大家可以參考這篇文章http://www.cnblogs.com/digdeep/p/4512368.html)


由於項目需要配置多個數據源,根據業務需求,採用的是上述的第一種方式。但是配置完成後,一直報Invalid bound statement。經過一番折騰,參考各種文檔的解釋,最後找到了一種解決辦法。因爲將dao和mybatis的映射文件都放在了嵌套的目錄裏,所以在spring掃描的時候,記錄了首次掃描到dao的方法,然後使用首次掃描到dao的方法,調用其他路徑的映射文件時,就會提示無法找到映射文件的方法。

只需要將dao和mapping的映射文檔,放在不同目錄下,不可嵌套或者同級目錄。就可以找到映射關係了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章