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

druiddatasource多数据源(@transactional 多数据源)在日常开发中我们可能会用到多数据源开发 什么是多数据源 简单来讲的话 就是一个项目连接多个数据库 当然只是可能会用到 我暂时没见过应用场景 但是还是了解学习一下 此项目可以基于上一个简单集成项目进行简单的修改 就能实现多数据源了 application yml 配置 我们在上一个项目的基础上进行修改 实现多数据源配置 着是完整的配置 主要在 druid 数据源和 mybatis 的 mapper

大家好,我是讯享网,很高兴认识大家。



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

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

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

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,以及两个数据源信息

小讯
上一篇 2025-04-22 14:53
下一篇 2025-06-12 22:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/201852.html