在日常开发中我们可能会用到多数据源开发,什么是多数据源?
简单来讲的话,就是一个项目连接多个数据库。当然只是可能会用到,我暂时没见过应用场景,但是还是了解学习一下
此项目可以基于上一个简单集成项目进行简单的修改,就能实现多数据源了。
application.yml配置
我们在上一个项目的基础上进行修改,实现多数据源配置
着是完整的配置
主要在druid数据源和mybatis的mapper.xml进行了细微修改
这里我建立一个layui数据库,里面有个和demo里一样的表,数据和结构都一样,方便等会测试
包结构调整,代码修改
包结构调整
我们先把mapper接口修改一下
在原来的mapper包下建立两个包,一个one,一个two
然后把之前的mapper接口分别复制到one和two下
然后改一下名字
改完以后大概就是这个样子
代码修改
把之前的mapper注解都去掉
后面会用别的方法去映射
这是oneMapper
这里为了方便我就只写一个接口
然后我们在修改一下service实现类
getById方法让他去调用twoMapper
其余的还是让它去调用原来的接口
配置文件修改
然后我们把xml的位置移动一下
在resources下的mappers下在建立两个文件夹
一个one
一个two
然后在把之前的TestUser目录复制两份到one和two下
把原来的TestUser删除掉
在把之前的xml名字修改一下
改完以后大概就是这个样子了
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类
内容和上面的差不多
注意这两个路径写成自己的不要搞错了
到这里就配置完成了
测试使用
我们先访问一下接口能否调通
启动项目然后使用谷歌插件访问接口
可以看到我们两个接口都调用成功
我们去druid的监控界面查看一下执行的sql和数据源信息
可以看到druid监控了我们执行的两条sql,以及两个数据源信息
到此这篇druiddatasource多数据源(@transactional 多数据源)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/77981.html