本文由黑壳博客转载
本文转载SpringBoot多数据源提示Invalid bound statement (not found)
壳叔搞笑时间
正文
近日闲来无事,想在网上找个轮子,可以根据数据库生成一部分通用代码,后来因为一些项目数据源场景因素,网上的大多的都是在配置文件写数据源参考,不适合多个数据源。
今天就不写Springboot 动态数据源一些代码了,直接总结问题。
我昨天参考的是这篇文章 Spring Boot配置动态数据源访问N个数据库,支持数据库动态增删,数量不限,也是一篇转载的文章。
这篇数据库访问的数据访问层采用的是mybatis注解方式写的,所以并没有指定mapperLocations等配置信息,所以并不是文章提供的代码有问题,而是我的项目框架mapper是采用xml,是需要指定一下mapperLocations信息。
废话到此结束...
1、在数据源配置管理类代码页面(DataSourceConfig.java) 指定mapper路径
/**
* 创建会话工厂。
* @param baseDataSource 数据源
* @return 会话工厂
*/
@Bean("sqlSessionFactory")
@Primary
public SqlSessionFactory getSqlSessionFactory(@Qualifier("dataSource") DataSource baseDataSource) {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(baseDataSource);
try {
//指定mapper路径
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/**/*.xml"));
} catch (IOException e1) {
e1.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = null;
try {
sqlSessionFactory = bean.getObject();
} catch (Exception e) {
e.printStackTrace();
}
return sqlSessionFactory;
}
完成上述步骤,restart重启,走一遍操作,完美~
小总结
首先理解报错问题,然后上网找到匹配的解决方案~
对症下药嘛, 问题完美解决~
最后截图两张工具demo页面,如果各位喜欢,我晚点等完成了会放到GitHub开源供各位git clone~
参考页面
github
https://github.com/ykz200/generator
关于我们
程序员是个辛苦的职业
请善待你们身边的每一位程序员~
欢迎在评论写下你的程序员趣事,程序员不是一个死板的职业~~
欢迎扫描二维码加入我们的小组织 ,大家都叫我壳叔,很期待你的到来。
黑壳网交流群 Q 群:200408242
E-mail:keshu@bhusk.com
本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章