本篇博客只讲如何从零到壹地再Spring Boot项目中实现多数据源配置,不谈源码(后续上Spring Boot自动配置等源码)。
本篇博客内容基于Spring Boot Version 2.5.1。
一个项目中需要连接多个数据源,我们需要在
业务 层不同的接口访问不同的数据源,此时我们就需要整合项目适配多数据源,本篇博客由此展开。
在datasource之后添加标识对应数据源的字符,如我案例中的action、quotation,下面贴详细代码
Notice: 这里的
url 配置项这里必须写
jdbc-url,否则会报参数不合法异常。
访问不同数据源的接口按照目录分开,单独存放,如图所示
访问不同数据源的XML文件按照目录分开,单独存放,如图所示
创建一个配置类,引入对应的配置参数创建多个数据源对象,下附完整代码。
依据不同的数据源创建对应的SqlSessionFactory对象、SqlSessionTemplate对象,下附完整代码。
dao层接口位置和引用actionSqlSessionFactory的方法名
开发对应的接口,调用接口
调用接口测试效果
如果是从单数据源切换过来的,需要把启动类上的注解@MapperScan删除,否则会生成两遍对应的
dao层接口bean(可以这么理解一下,多数据源环境下,自己声明了对应的dao层位置,启动类上又配置了自动扫描装配可不就是两遍嘛),这种情况下会报如下警告:
就如同我今天和一个朋友讲的一样,通过整合这个多数据源的触碰到了一个小点,也就是整合多数据源之后要把之前在启动类中配置的默认自动装配注解删除,否则会报重复创建bean的警告
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000428/viewspace-2789130/ ,如需转载,请注明出处,否则将追究法律责任。