背景:闲暇之余考虑到多数据源场景,研究一波
依赖:
yml配置:
源码:
Controller、Service、Mapper层源码就不贴了,因为简单,写个查库表数据的接口测试或者单元测试都行
过程问题记录(重要的是这几点):
1、Invalid bound statement (not found)报错问题
这个原因是最开始没有在配置类中写xml的路径配置即bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(“classpath:mapper/blog/*.xml”)); 而是在yml中写mybatis的mapper-locations导致,当时猜测不同的数据源需要单独指定,故在配置类中写xml的路径配置,由此解决报错。
2、适配驼峰
由上一个问题联想到每一个数据源的配置需要单独配置,故在配置类中通过sqlSessionFactory.getConfiguration().setMapUnderscoreToCamelCase(true);来适配
3、其实不同的数据源配置也可以写在yml中
@Bean
@ConfigurationProperties(prefix = “mybatis.configuration”)
public org.apache.ibatis.session.Configuration configuration() {
return new org.apache.ibatis.session.Configuration();
}
通过在配置类中配置Configuration 的bean,注意,不同的数据源对应的ConfigurationProperties是不同的
如有错误,欢迎指正~
springboot mybatis集成多数据源
最新推荐文章于 2024-07-23 15:22:56 发布