版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1423608
在互联网技术飞速发展的今天,各种技术已经非常成熟,尤其是像读写分离这样的架构,以及这样的项目显得非常的常见。那么今天我就和大家一起来,手把手的教大家利用 SpringBoot + Mybatis 实现一个读写分库的 demo 项目。
首先,我们这个项目要使用 SpringBoot,因为 SpringBoot 是现阶段最火的框架之一了;第二,我们要使用 Mybatis;第三,我们还要使用自定义注解。
下面我介绍几个主要的类实现,需要源码的可以加我微信号:xmtxtt 为好友,我免费发给大家!
先创建一个 DataSources 数据源接口。比如,我们假设是一主一从。
第二步,创建一个切换数据源的 RoutingDataSource 注解类。
注解的使用我就不在过多的解释了,就当大家都会吧,如果不会加群交流,好了。
第三步,在 application.yml 中配置多个数据源。
第四步,配置多个 Datasource。
第五步,定义一个 DataSourceHolder,切换数据源。
第六步,定义一个动态数据源。
第七步,Mybatis 整合动态数据源。
第八步,也是最重要的一步,拦截所有有 @RoutingDataSource 注解的方法。动态的给它指定数据源。
第九步,要取消自动配置数据源,不要让 SpringBoot 自动的使用 DataSourceAutoConfiguration 了。
最后就是如何使用了,插入我们使用主库,查询我们使用从库。
以上源码,需要的可以加我微信号:xmtxtt 为好友,我免费发给大家!现在读写分离的项目非常的常见,面试也可能会被问答。我这里只是建了一个非常简单的读写分离项目。