关于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的映射文档,放在不同目录下,不可嵌套或者同级目录。就可以找到映射关系了

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