From 721df7c4f9f9612c0c1a9597f72b0afcd5aa89bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Sat, 8 Apr 2023 17:39:27 +0800 Subject: [PATCH] update docs --- docs/zh/logic-delete.md | 9 +++------ docs/zh/multi-tenancy.md | 20 +++++++++++++++++++- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/docs/zh/logic-delete.md b/docs/zh/logic-delete.md index 56f5a0b2..8b256355 100644 --- a/docs/zh/logic-delete.md +++ b/docs/zh/logic-delete.md @@ -49,10 +49,7 @@ SELECT * FROM tb_account where id = ? and is_delete = 0 不仅仅是 selectOneById 方法会添加 `is_delete = 0` 条件,BaseMapper 的以下方法也都会添加该条件: -- selectOneByMap -- selectOneByQuery -- selectListByIds -- selectListByMap -- selectListByQuery -- selectCountByQuery +- selectOneBy** +- selectListBy** +- selectCountBy** - paginate \ No newline at end of file diff --git a/docs/zh/multi-tenancy.md b/docs/zh/multi-tenancy.md index fd83f4f9..08256b50 100644 --- a/docs/zh/multi-tenancy.md +++ b/docs/zh/multi-tenancy.md @@ -10,7 +10,7 @@ Mybatis-Flex 使用多租户需要 2 个步骤: -- step 1:通过 `@Column(tenantId = true)` 表示租户列。 +- step 1:通过 `@Column(tenantId = true)` 标识租户列。 - step 2:为 `TenantManager` 配置 `TenantFactory`。 > TenantFactory 是用于生产租户ID的,或者说是用于获取当前租户ID的。 @@ -62,6 +62,8 @@ public interface TenantFactory { ## 注意事项 +### 新增数据时 + ```java 7 @Table("tb_article") public class Article { @@ -90,3 +92,19 @@ articleMapper.insert(article); - 若 `TenantFactory` 返回的有值,`tenantId` 的值为 `TenantFactory` 返回数组的第一个值。 - 若 `TenantFactory` 返回的数组为 `null` 或者 空数组,`tenantId` 的值为 `100`; +### 删除、修改和查询 + +当 Entity 被 `@Column(tenantId = true)` 标识租户列后,所有通过 `BaseMapper` 进行 删除、修改 和 查询,都会带上租户的条件。 + +比如根据 ID 删除,那么执行的 SQL 如下: + +```sql +DELETE FROM tb_article where id = ? and tenant_id = ? +``` +当 `TenantFactory` 返回多个租户 ID 的时候,执行的 SQL 如下: + +```sql +DELETE FROM tb_article where id = ? and tenant_id in (?, ?, ?) +``` + +同理,修改和查询,也都会带有 `tenant_id` 条件。 \ No newline at end of file