druid-multi-tenant-starter 发布,最好用的多租户插件


最好用的多租户插件druid-multi-tenant-starter

2024年7月16日至今druid-multi-tenant-starter插件的已发布两年多。这个新工具的推出标志着一个高效、简便的SaaS多租户管理解决方案的诞生,为开发者提供了全新的便捷体验。

什么是druid-multi-tenant-starter?

druid-multi-tenant-starter是一个基于MyBatis拦截器和 alibaba Druid SQL解析器的多租户插件。它旨在简化SaaS(软件即服务)平台中的多租户管理,提供开箱即用,配置简单易用的解决方案,使开发者能够轻松实现多租户数据隔离与管理。

主要特点与优势

  1. 无缝集成: 作为一个开箱即用的插件,druid-multi-tenant-starter能够与现有的MyBatis框架完美集成,避免了繁琐的配置和代码修改。只需少量的配置即可启用多租户功能,极大地提升了开发效率。

  2. 强大的SQL解析: 利用阿里巴巴Druid的强大SQL解析能力,druid-multi-tenant-starter能够精确地解析和处理SQL语句,确保多租户环境中的数据隔离和安全性。无论是查询、更新还是删除操作,都能得到有效的管理和控制。

  3. 灵活的租户管理: 插件提供了多种灵活的租户管理策略,允许开发者根据实际需求定义和调整租户识别方式。这使得它能够适应不同的应用场景,提供个性化的解决方案。

  4. 性能优化: druid-multi-tenant-starter是基于alibaba Druid SQL解析库对SQL语句进行解析,比某租户插件是基于JSQLParser进行解析SQL语句,所以性能方便比某租户插件更强

使用场景

  • SaaS应用平台: druid-multi-tenant-starter特别适用于需要支持多个租户的SaaS平台,它能够保证不同租户的数据安全和隔离,防止数据交叉和泄露。

  • 企业级系统: 对于需要在同一系统中管理多个业务单元或子公司数据的企业,druid-multi-tenant-starter提供了理想的解决方案,简化了数据管理和维护工作。

  • 数据共享平台: 在需要进行多方数据共享而又需保证数据隔离的场景下,druid-multi-tenant-starter能够有效支持不同数据源的管理需求

支持忽略tenantId策略

  •  支持原SQL语句中已有tenantId字段条件跳过
  •  支持忽略指定表名添加tenantId字段条件
  •  支持忽略指定Mapper接口SQL语句添加tenantId字段条件
  •  支持指定表名忽略SQL语句添加tenantId字段条件
  •  支持指定别名忽略SQL语句添加tenantId字段条件
  • 支持租户ID从Mapper接口方法参数传入

快速开始

  • 在已经集成Mybatis项目中引入以下依赖
<dependency>
<groupId>io.github.osinn</groupId>
<artifactId>druid-multi-tenant-starter</artifactId>
<version>1.4.7</version>
</dependency>

配置

--基础配置
mybatis:
tenant:
config:
# 是否启用多租户插件
enable: true
# 数据库中租户ID的列名
tenant-id-column: tenant_id

实现提供获取多租户值接口

  • 需要实现ITenantService接口提供获取多租户ID值
/**
 * 演示:提供多租户ID服务接口
 *
 * @author wency_cai
 */
@Service
public class TenantServiceImpl implements ITenantService<Integer>{

@Override
public List<Integer> getTenantIds() {
// 查询系统多租户id,如果有多个返回多个值即可
int tenantId = 1;
return Lists.newArrayList(tenantId);
}

}
  • 到此druid-multi-tenant-starter租户插件集成完成
  • 项目中写的SQL语句无需关系租户ID字段,只需要像平时写SQL语句一样正常写SQL语句即可,底层会串改SQL语句生成新的SQL语句执行

结语

druid-multi-tenant-starter的发布至今已在生产环境正常运行两年多。它不仅简化了多租户环境中的开发工作,还提升了系统的性能和安全性。我们期待这款插件能够帮助更多的开发者和企业高效管理他们的多租户系统,实现业务的快速发展和成功。

项目地址:https://github.com/osinn/druid-multi-tenant-starter


相關推薦

2022-11-28

ner 元数建模软件 (v4 版本)介绍:PDManer [元数建模]-v4.0.0 发布:一款简单好用的数据库建模平台 4.2.2 (含 4.2.1 版本) 版本升级内容清单 1. 修复代码生成是索引信息错误的问题 2. 修复某些场景下重复粘贴的问题 3. 生成 html

2022-06-21

Pigsty v1.5.1 现已发布,具体更新内容如下: 内核 在PostgreSQL 14.0 至 14.3 中,出现了一个BUG。当你使用​​​​ CREATE INDEX CONCURRENTLY | REINDEX CONCURRENTLY 在线重建索引时,有可能会导致静默的 索引数据腐坏。 在 2022.06.16日,Pos

2024-07-23

druid-multi-tenant-starter v1.4.8 发布主要是兼容Spring boot v3.x版本自动配置,调整内容如下 1、新增对Spring boot3 自动配置的支持。druid-multi-tenant-starter v1.4.8以下只支持Spring boot 2.x自动配置,druid-multi-tenant-starter v1.4.8开始兼容Spring boot 2.x

2023-07-15

ThingsPanel0.5.0的多租户功能满足了设备商和大型客户对物联网SaaS服务的需求。为在线物联网服务提供了快速实现方案。   基于ThingsPanel0.5.0,可以大大加速设备商的硬件产品化进程。   ThingsPanel的多租户功能分为

2023-06-19

接入微信开放平台,SaaS 应用 (微信小程序) 一键授权发布; 完善的微信公众号、小程序帐号授权体系,基于 API 已全部封装,不用二次开发,你只需关注应用功能的开发; 支持 VUE/React 前后端分离,SSR 形式和混合开发;

2024-05-01

JAVA下唯一一款搞定OLTP+OLAP的强类型查询这就是最好用的ORM相见恨晚 介绍 首先非常感谢 FreeSQL 提供的部分源码,让我借鉴了不少功能点,整体设计并没有参考FreeSQL(因为java压根没有expression所以没办法参考)只是在数据库方言上FreeSQ

2022-09-18

ner 元数建模软件 (v4 版本)介绍:PDManer [元数建模]-v4.0.0 发布:一款简单好用的数据库建模平台 4.1.5 版本升级内容清单 #I5MI3B,#I5P9TE 修复某些场景下版本管理中字段丢失的问题(需执行在数据域中选中对应数据库,右

2022-10-15

DManer元数建模软件(v4版本)介绍:PDManer [元数建模]-v4.0.0 发布:一款简单好用的数据库建模平台 4.2.0 版本升级内容清单 增加从EXCEL文件中导入表结构功能 增加Rust支持,在此感谢 @百小僧 的大力支持 增加

2023-03-27

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Ja

2023-01-08

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Java 技

2023-06-08

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Java 技

2023-11-27

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Java 技

2023-02-26

特别说明 平台公云版及企业私云版已经发布,增加多人团队协作支持,点击这里了解 [PDManer 元数建模 - v4],历时五年,持续升级,工匠精神,做一款简单好用的数据库建模平台。 元数建模平台,使用 React+Electron+Java 技

2023-01-07

CoSec 基于 RBAC 和策略的多租户响应式安全框架。       更新内容(v1.9.0) 🎉 🎉 🎉 ⭐ 特性 特性:新增  RequestAttributesAppender API。 特性:新增  Ip2RegionRequestAttributesAppender,支持IP区域匹配器。