业务系统复杂程度增加,为了解决数据库I/O瓶颈,很自然会进行拆库拆表分服务来应对。这就会出现一个系统中可能会访问多处数据库,需要配置多个数据源。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、菏泽网络推广、小程序设计、菏泽网络营销、菏泽企业策划、菏泽品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联公司为所有大学生创业者提供菏泽建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com第一种场景:项目服务从其它多处数据库取基础数据进行业务处理,因此各库之间不会出现重表等情况。
第二种场景:为了减轻写入压力进行读写分库,读走从库,写为主库。此种表名等信息皆为一致。
第三种场景:以上两种皆有。对于某些业务需要大数据量的汇总统计,希望不影响正常业务必须走从库(表信息一致),某些配置信息不存在读写压力,出现不分库(表信息不一致)
项目源代码:
https://github.com/zzsong/springboot-multiple-datasource.git
有三个目录:
one:
直接使用多@Bean配置,@MapperScan来路径区分读何库
two:
使用注解的方式来标识走何dataSource,AOP拦截注入动态数据源
third:
使用spring的Bean命名策略进行区分数据来源
项目技术选型: springBoot2.2.5 + mybatis + druid + mysql
先看主要的pom包
org.springframework.boot spring-boot-starter-parent 2.2.5.RELEASE org.springframework.boot spring-boot-starter-data-jdbc org.springframework.boot spring-boot-starter-data-jdbc org.springframework.boot spring-boot-starter-aop org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.2 mysql mysql-connector-java 8.0.19 com.alibaba druid-spring-boot-starter 1.1.21
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:springboot2+mybatis多种方式实现多数据配置方法-创新互联
本文来源:http://lswzjz.com/article/dejhpo.html