分类 标签 存档 程序员漫画 黑壳相关站点 订阅 搜索

SpringBoot 多数据源提示 Invalid bound statement (not found)

2237 浏览

本文由黑壳博客转载

本文转载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

11a84075a304ac57f6d37323512fd24cde9836350b9d80148b282eeaa188b196c2358d4ffd7006cbpng

黑壳博客 blog.bhusk.com

E-mail:keshu@bhusk.com

本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。

可自由转载、引用,但需署名作者且注明文章

评论  
留下你的脚步
推荐阅读