springboot整合mybatisplus配置多数据源

2023-01-18 21:46:48

前言

业务中,有一个需求,需要定时将一个库的部分业务表的数据同步到另一个库中,由于在现有的项目中进行改造比较麻烦,因此索性使用springboot和mybatisplus完成一个多数据源的环境搭建

简单说明一下,使用mybatis也是可以的,但项目中有技术要求,同时使用过mybatisplus之后,发现功能更加强大,而且使用很灵活,因此就选择了这个组件

搭建流程

开发步骤:

  • 新建springboot项目。
  • 导入依赖 --> devtools,lombok,web,thymeleaf,mysql,aop,mybatisplus,druid,swagger。
  • maven多环境配置。
  • 编写application.yml --> 项目端口,项目路径名,mybatisplus配置,mysql多数据源配置。
  • 新建DataSourceContextHolder 用于设置,获取,清空 当前线程内的数据源变量。
  • 新建 MultipleDataSource 实现 AbstractRoutingDataSource 类。重写determineCurrentLookupKey(),通过DataSourceContextHolder 获取数据源变量,用于当作lookupKey取出指定的数据源。
  • 新建DataSourceEnum 用于存放数据源名称。
  • 新建注解 DataSource,用于aop类中当作切入点来选择数据源。
  • 编写aop类 --> DataSourceAspect.java
  • 作者:小码农叔叔
  • 原文链接:https://blog.csdn.net/zhangcongyi420/article/details/103229930
    更新时间:2023-01-18 21:46:48