当前位置:网站首页 > 数据科学与大数据 > 正文

druiddatasource多数据源(@transactional 多数据源)



在日常开发中我们可能会用到多数据源开发,什么是多数据源?

简单来讲的话,就是一个项目连接多个数据库。当然只是可能会用到,我暂时没见过应用场景,但是还是了解学习一下

此项目可以基于上一个简单集成项目进行简单的修改,就能实现多数据源了。

application.yml配置

我们在上一个项目的基础上进行修改,实现多数据源配置

着是完整的配置

主要在druid数据源和mybatis的mapper.xml进行了细微修改

这里我建立一个layui数据库,里面有个和demo里一样的表,数据和结构都一样,方便等会测试

包结构调整,代码修改

包结构调整

我们先把mapper接口修改一下

在原来的mapper包下建立两个包,一个one,一个two

然后把之前的mapper接口分别复制到one和two下

然后改一下名字

改完以后大概就是这个样子

DruidDataSource 配置mysql druid配置多个数据源_sql

代码修改

把之前的mapper注解都去掉

后面会用别的方法去映射

这是oneMapper

这里为了方便我就只写一个接口

然后我们在修改一下service实现类

getById方法让他去调用twoMapper

其余的还是让它去调用原来的接口

配置文件修改

然后我们把xml的位置移动一下

在resources下的mappers下在建立两个文件夹

一个one

一个two

然后在把之前的TestUser目录复制两份到one和two下

把原来的TestUser删除

在把之前的xml名字修改一下

改完以后大概就是这个样子了

DruidDataSource 配置mysql druid配置多个数据源_xml_02

onemapper.xml的内容保持不变

主要写一下twomapper.xml的save保存方法

SELECT

id,user_name,password

FROM

test_user

WHERE id=#{id}

因为这里的mapper接口路径是修改过的,onemapper.xml要注意一下

多数据源配置

准备工作做好了接着就是配置多数据源了

在test包下建立一个config包,用于存放配置

然后在config包下建立一个MultiDataSourceConfig类

这里的ConfigurationProperties是获取的yml或者properties里的值

spring.datasource.druid.one和spring.datasource.druid.two就是我们配置的数据源

Primary只能指定一个为默认数据源,这里指定了one数据库

在config下建立DataSource1Config类,用于配置数据源one

然后在建立一个DataSource2Config类

内容和上面的差不多

注意这两个路径写成自己的不要搞错了

到这里就配置完成了

测试使用

我们先访问一下接口能否调通

启动项目然后使用谷歌插件访问接口

DruidDataSource 配置mysql druid配置多个数据源_xml_03

DruidDataSource 配置mysql druid配置多个数据源_xml_04

可以看到我们两个接口都调用成功

我们去druid的监控界面查看一下执行的sql和数据源信息

DruidDataSource 配置mysql druid配置多个数据源_xml_05

DruidDataSource 配置mysql druid配置多个数据源_sql_06

DruidDataSource 配置mysql druid配置多个数据源_mysql druid 多数据源_07

可以看到druid监控了我们执行的两条sql,以及两个数据源信息

到此这篇druiddatasource多数据源(@transactional 多数据源)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 自动驾驶数据集搭建(自动驾驶 数据处理)2025-03-23 22:27:08
  • 自动驾驶数据集 yolo(自动驾驶数据集搭建)2025-03-23 22:27:08
  • mongodb数据库(mongodb数据库是关系型)2025-03-23 22:27:08
  • oracle查看锁表用户ip(如何查看oracle数据库锁表)2025-03-23 22:27:08
  • Apollo配置中心修改数据库配置生效(apollo修改了配置要重启吗)2025-03-23 22:27:08
  • 数据库增删改查关键字(数据库查删改增语句)2025-03-23 22:27:08
  • 数据库主键约束怎么写(数据表的主键约束)2025-03-23 22:27:08
  • db数据库文件怎么打开(db数据库用什么打开)2025-03-23 22:27:08
  • 学数据库的基础(数据库要什么基础)2025-03-23 22:27:08
  • 学术性期刊数据库有(学术文献数据库有哪些)2025-03-23 22:27:08
  • 全屏图片