mybatis 租户拦截器注解
时间: 2024-10-30 15:04:08 浏览: 25
MyBatis 中的租户拦截器注解通常用于实现数据访问层的权限控制,特别是处理针对每个用户的租户(Tenant)数据隔离场景。这种注解通常是自定义的,例如在一些扩展插件如 MyBatisPlus 或者基于 MyBatis 的第三方框架中提供的。
常见的注解可能是 `@TenantId` 或 `@TenantBased`,开发者会在需要过滤租户特定数据的 SQL 查询前添加这个注解。当这个注解应用到查询方法上时,MyBatis 拦截器会在执行 SQL 之前检查当前用户对应的租户ID,并动态地添加 WHERE 条件,如 `tenant_id = #{currentTenantId}`,确保只有对应租户的数据被返回。
举个例子:
```java
@Select("SELECT * FROM user_info WHERE tenant_id = #{tenantId}")
public List<UserInfo> getUserInfos(@Param("tenantId") Long tenantId);
```
在这个例子中,`@TenantId` 注解告诉 MyBatis 在执行这个查询时要考虑当前用户的租户 ID。
阅读全文