一. Saas多租户在数据存储上有三种主要的方案:
- 独立数据库
- 共享数据库, 独立Schema
- 共享数据库,共享数据架构
其中方案1和方案2要解决的核心问题就是租户识别,需要在应用层实现数据源的动态切换,根据租户标识动态的将用户请求路由到对应的租户数据源。
二. 利用Mybatis-Plus实现动态数据源切换
MyBatis-Plus是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
1.添加相关依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.5.4</version>
</dependency>

本文介绍了Saas多租户在数据存储的三种方案,并重点讨论了租户识别和数据源动态切换的重要性。通过利用Mybatis-Plus,可以轻松实现动态数据源切换,只需少量配置和注解,对业务代码的侵入小。在开发狐小E过程中遇到的动态切换数据源问题也被记录下来。
最低0.47元/天 解锁文章
4767





