当前位置: 首页 > news >正文

重庆h5制作seo网站优化方法

重庆h5制作,seo网站优化方法,ssm框架网站开发 参考文献,广州网站建设系统文章目录 一、TenantLineHandler1、介绍2、包含的方法 二、简单实例三、实践1、实现TenantLineHandler接口 一、TenantLineHandler 1、介绍 TenantLineHandler 是 Mybatis-Plus 中用于处理多租户的接口,用于实现多租户数据隔离的具体逻辑。通过实现这个接口&#…

文章目录

  • 一、TenantLineHandler
    • 1、介绍
    • 2、包含的方法
  • 二、简单实例
  • 三、实践
    • 1、实现TenantLineHandler接口

一、TenantLineHandler

1、介绍

TenantLineHandler 是 Mybatis-Plus 中用于处理多租户的接口,用于实现多租户数据隔离的具体逻辑。通过实现这个接口,我们可以自定义多租户的处理方式,例如根据不同的租户信息动态拼装 SQL 条件,实现数据的隔离。

2、包含的方法

在 Mybatis-Plus 中,TenantLineHandler 接口包含了以下方法:

  • getTenantIdColumn():获取租户 ID 字段名。
  • getTenantId():获取当前租户 ID。
  • getTenantIdValue():获取租户 ID 的具体数值。
  • getTenantIdList():获取租户 ID 列表。
  • getTenantIdExpression():获取租户 ID 的 SQL 表达式。
    通过实现 TenantLineHandler 接口,并重写以上方法,我们可以根据具体的业务需求来自定义多租户的处理逻辑。例如,可以根据不同的租户 ID 动态拼装 SQL 条件,实现数据的隔离查询。

二、简单实例

面是一个简单示例,展示了如何自定义一个 TenantLineHandler 的实现类:

public class MyTenantLineHandler implements TenantLineHandler {@Overridepublic Expression getTenantId() {// 获取当前租户 IDLong tenantId = getCurrentTenantId();if (tenantId != null) {return new StringValue(String.valueOf(tenantId));} else {return null;}}@Overridepublic String getTenantIdColumn() {// 返回租户 ID 字段名return "tenant_id";}// 自定义方法,获取当前的租户 IDprivate Long getCurrentTenantId() {// 这里可以根据实际情况获取当前的租户 ID,可以从 ThreadLocal、token、session 等地方获取// 这里只是一个示例,实际中需要根据具体的业务逻辑进行实现return 1L;}
}

通过实现 TenantLineHandler 接口并重写其中的方法,我们可以灵活地处理多租户的逻辑,实现数据的隔离查询和操作。

三、实践

1、实现TenantLineHandler接口

import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.xxx.ContextHolder;
import com.xxx.TenantConfig;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
import net.sf.jsqlparser.schema.Column;
import org.apache.commons.lang3.StringUtils;
import java.util.Objects;import java.util.List;
import java.util.Optional;public class MultiTenantHandler implements TenantLineHandler{private final Config config;public MultiTenantHandler(Config config) {this.config= config;}@Overridepublic Expression getTenantId() {String tenantId = Optional.ofNullable(ContextHolder.getTenantId()).orElse("1");return new LongValue(tenantId);}@Overridepublic String getTenantIdColumn() {return tenantConfig.getTenantIdColumn();}@Overridepublic boolean ignoreTable(String tableName) {// 其他处理逻辑return TenantLineHandler.super.ignoreTable(tableName);}@Overridepublic boolean ignoreInsert(List<Column> columns, String tenantIdColumn) {return TenantLineHandler.super.ignoreInsert(columns, tenantIdColumn);}
}
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.List;
@Configuration
@ConfigurationProperties(prefix = "tenant")
@Data
public class Config {/*** 是否开启多租户*/private Boolean enable = true;/*** 租户id字段名*/private String tenantIdColumn = "tenant_id";/*** 需要忽略的多租户的表,此配置优先filterTables,若此配置为空则启用filterTables*/private List<String> ignoreTables;/*** 忽略指定用户对租户的数据过滤*/private List<String> ignoreLoginNames;/*** 忽略某租户对数据的过滤*/private String ignoreTenantId;}
http://www.hkea.cn/news/707924/

相关文章:

  • 加网络网站建设工作室做一个企业网站大概需要多少钱
  • 张家港优化网站seo百度网盘下载
  • 烟台有没有做网站网站安全
  • 网站建设与制作设计公司惠州seo代理商
  • 东营新闻网今日头条常州网站seo
  • 东莞全网合一网站黄页引流推广网站软件免费
  • wordpress的数据库在那里百度seo如何快速排名
  • wordpress手机客服代码免费seo快速排名工具
  • web网站开发作品关键词歌词图片
  • 汕头行业网站seo培训公司
  • 网站背景图片优化关键词歌曲免费听
  • 郑州做网站哪家专业我要发布信息
  • 西安做网站优化的公司石家庄seo按天扣费
  • 2022年西安封城通知自动app优化下载
  • 无锡做网站哪家公司好一个公司可以做几个百度推广
  • 专题网站建设工作关键词林俊杰无损下载
  • adobe 网站开发软件软文写作兼职
  • 英文网站建设 淮安免费培训网站
  • 隔离需要多少钱湖南网站seo找行者seo
  • wordpress简单企业站seo怎么刷排名
  • 网站建设与运维泉州全网推广
  • 网站建站哪个公司好一点营销咨询服务
  • 值得玩的网页游戏北京seo营销培训
  • 中国建设银行网站分期通百度推广登录平台网址
  • 公司内部网站源码新闻软文推广案例
  • vf建设银行网站谷歌seo排名
  • 如何申请商业服务器武汉seo工厂
  • 祥云平台英文网站微博指数查询入口
  • 公司网站建设准备资料今日重大财经新闻
  • 发布网站后备案免费网站建站页面