使用背景
微服务matecloud希望支持saas的多租户的管理模式,mybatis plus正好已经考虑支持该模式,下面就简单说说其应用案例
多租户模式介绍
数据隔离有三种方案:
1、独立数据库:简单来说就是一个租户使用一个数据库,这种数据隔离级别最高,安全性最好,但是提高成本。
2、共享数据库、隔离数据架构:多租户使用同一个数据裤,但是每个租户对应一个Schema(数据库user)。-
3、共享数据库、共享数据架构:使用同一个数据库,同一个Schema,但是在表中增加了租户ID的字段,这种共享数据程度最高,隔离级别最低。下面样例以共郭数据库、共享数据结构的形式的讲述
集成步骤
1. 加依赖
<!--Mybatis-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.0</version>
</dependency>
主要是这两个依赖
2. 写代码
2.1. 租户属性
package vip.mate.core.database.props;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 租户属性
* @author xuzhanfu
* @Date 2020-9-6
*/
@Getter
@Setter
@RefreshScope
@ConfigurationProperties(prefix = "mate.tenant")
public class TenantProperties {
/**
* 是否开启租户模式
*/
private Boolean enable = true;
/**
* 需要排除的多租户的表
*/