跳转到内容

附录 03 多租户SaaS实战

  1. 说明文档可以参考《Spring Boot 构建多租户 SaaS 平台核心技术指南》。
  2. 修改 application.yml 数据库URL、账户、密码
yaml

url:  jdbc:mysql://192.168.100.100:3306/test_una_saas?useSSL=false
username: admin
password: admin@2020!@#
  1. 创建application.yml数据库URL对应的schema,并在改数据库中创建master_tenant表。
schema: test_una_saas
table: master_tenant
SQL: 
    CREATE TABLE `master_tenant` (
      `ID` varchar(255) NOT NULL,
      `TENANT` varchar(30) NOT NULL,
      `URL` varchar(255) NOT NULL,
      `USERNAME` varchar(30) NOT NULL,
      `PASSWORD` varchar(30) NOT NULL,
      `version` int(11) NOT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1. master_tenant表中插入一条数据
sql
INSERT INTO `master_tenant` VALUES ('tenant_1', 'firstTenant', 'jdbc:mysql://192.168.100.100:3306/db2020?useSSL=false', 'admin', 'admin@2020!@#', '0');
  1. 创建schema,并创建user表
schema: db2020
table: user
SQL: 
    CREATE TABLE `user` (
      `ID` varchar(50) NOT NULL,
      `USERNAME` varchar(255) DEFAULT NULL,
      `PASSWORD` varchar(22) DEFAULT NULL,
      `TENANT` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1. 在db2020.user表中插入一条数据
sql
INSERT INTO `user` VALUES ('1', 'test', 'abc123456', 'firstTenant');
  1. 使用firstTenant作为租户id,使用test作为用户名,使用abc123456作为登陆密码。

  1. 使用另外一个链接和另外一个租户的用户再次登录,同样成功。

make it come true