本文主要讲mybatis数据多数据源配置,为什么需要讲多数据源配置呢?假如我们遇到了一种场景,我们在一个服务或者一个请求里面遇到了需要查两个数据库的情况,这个时候我们怎么处理呢?有人说我可以通过rpc来各自处理,每一个服务连接一个库就可以了。但是这种方式要增加一个服务,代价较大。
首先,我们来说一下spring boot的数据源配置。spring boot是支持自动数据源配置的。我们只需要在spring boot的启动ym文件里面配置好数据库的url和用户名 密码就会有数据源配置出来,我们就不用关心了,但是如果我们需要两个数据源的时候,spring boot就不能自动配置了。
默认数据源配置现在,我们来考虑如果需要配置多个数据源的情况怎么处理呢?如果有多个数据源需要配置就说明我们有多个数据,所以就多个url,我们单独起一个配置文件。
application-config这样我们首先配置好url,但是这个时候,spring boot 就不会给我们默认配置好数据源了。所以我们需要自己配置。
数据源配置这里我们需要提一下,如果有多个数据源的情况,我们需要指定一个主数据源。因为在spring boot 里面默认是只有一个数据源的,设置数据源的是不可以有两个bean被发现,不然就会报错。上图是我们的从数据源配置。有人看到master,以为是主数据源了吧。可惜呀,这个只是一个名字这个指定主数据源和名字没有关系。下图我会给出主数据源配置的。
主数据源配置
看到我们的DataSource注解上面,多一个一个注解就是@Primary,这个注解是用来指定主数据源的,但是这个并不是只可以用来干这个。https://www.jianshu.com/p/b0644c13a964 这是一篇文章里面有讲这个注解的作用,其实就是默认选择的意思。
这样我们就用java类的方式配置好了多个数据源啦。
网友评论