springboot2+mybatis多种方式实现多数据配置方法-创新互联

业务系统复杂程度增加,为了解决数据库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://scyanting.com/article/dejhpo.html