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

做网站设计的公司排名建设网站的公司有哪些

做网站设计的公司排名,建设网站的公司有哪些,WordPress目录存放大小,商务网站开发设计TenantLineHandler 在 MyBatis Plus 中通常用于处理多租户场景。多租户是指在一个软件实例中#xff0c;能够同时处理多个不同的租户数据#xff0c;并且保证数据之间的隔离性。在多租户应用中#xff0c;通常需要在 SQL 查询中加入额外的条件#xff0c;以确保每个租户只能…TenantLineHandler 在 MyBatis Plus 中通常用于处理多租户场景。多租户是指在一个软件实例中能够同时处理多个不同的租户数据并且保证数据之间的隔离性。在多租户应用中通常需要在 SQL 查询中加入额外的条件以确保每个租户只能访问到自己的数据。 TenantLineHandler 是 MyBatis Plus 提供的一个接口它允许开发者自定义租户 ID 的获取和插入逻辑。通过实现这个接口你可以将租户 ID 加入到生成的 SQL 查询中以实现数据的隔离。 下面是一个简单的 TenantLineHandler 的实现示例以及关于其用途和作用的详细解释。 示例实现 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.reflection.MetaObject; import java.sql.Connection; import java.util.Properties; public class CustomTenantLineHandler implements TenantLineHandler { Override public Expression getTenantId(boolean where) { // 这里假设我们从某个地方如 ThreadLocal获取租户 ID String tenantId TenantContextHolder.getCurrentTenantId(); if (StringUtils.isNotBlank(tenantId)) { return new LongValue(Long.valueOf(tenantId)); } return null; } Override public String getTenantIdColumn() { // 返回包含租户 ID 的列名 return tenant_id; } Override public boolean doTableFilter(String tableName) { // 这里可以根据需要过滤掉不需要添加租户条件的表 // 例如某些公共表或系统表可能不需要租户条件 return !public_table.equals(tableName); } Override public void setProperties(Properties properties) { // 如果需要可以在这里设置一些配置属性 } } 使用方法 在 MyBatis Plus 的配置中你需要将这个 TenantLineHandler 的实现类注册为插件。这样当 MyBatis Plus 生成 SQL 时就会自动调用这个处理器来添加租户条件。 Configuration public class MybatisPlusConfig { Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor new PaginationInterceptor(); ListISqlParser sqlParserList new ArrayList(); TenantSqlParser tenantSqlParser new TenantSqlParser(); tenantSqlParser.setTenantHandler(new CustomTenantLineHandler()); sqlParserList.add(tenantSqlParser); paginationInterceptor.setSqlParserList(sqlParserList); return paginationInterceptor; } } 详细解释 getTenantId(boolean where): 这个方法用于获取当前租户的 ID。你可以从任何你认为合适的地方获取这个 ID比如从 ThreadLocal、SecurityContext 或者其他任何存储租户信息的地方。这个方法返回一个 Expression 对象它代表了一个 SQL 表达式这个表达式会被插入到生成的 SQL 查询中。在这个示例中我们简单地将租户 ID 转换为一个 Long 类型的值。getTenantIdColumn(): 这个方法返回包含租户 ID 的列名。在多租户数据库中通常会有一个专门的列来存储租户 ID用于标识数据的归属。你需要在这里返回这个列的名字。doTableFilter(String tableName): 这个方法用于过滤掉不需要添加租户条件的表。有些表可能是公共的或者不属于任何租户因此不应该在查询时加入租户条件。你可以在这个方法中实现自己的过滤逻辑。setProperties(Properties properties): 这是一个可选的方法用于设置一些配置属性。你可以在这个方法中读取配置文件中的参数或者执行其他初始化操作。 通过实现 TenantLineHandler 接口并配置 MyBatis Plus你可以很容易地在多租户应用中实现数据的隔离和访问控制。这样每个租户都只能看到和操作属于自己的数据从而保证了数据的安全性和完整性。
http://www.pierceye.com/news/687049/

相关文章:

  • 网站首页关键词设置网站的整体风格
  • wordpress源码站整站源码制作wordpress插件
  • 海口网站建设就q479185700上墙网站空间后台怎么进入
  • 四川电子有限公司 - 手机网站如何做网站家具导购
  • 网站经营性备案修改wordpress自带小工具
  • 网站怎么建设可以发图评论网站建设制作公
  • 做销售的网站设计公司是做什么的
  • 建设专业网站的利弊海淀区seo招聘信息
  • 吴江区住房与建设局网站网站开发怎么对接客户
  • frontpage2007网站建设网站开发需要redis
  • 国内做网站多少钱ui中有哪些做的好看的网站
  • 金湖建设工程质量监督网站网页设计 网站建设 哪个好
  • 适合做外链的网站梧州论坛红豆思辨
  • 永城网站设计公司wordpress 获取父分类
  • 网站开发语言是什么东莞营销网站建设价格
  • 外贸公司访问国外网站中学生做的网站有哪些方面
  • 南城网站建设公司信息wordpress怎样显示文章全部列表
  • 做推广什么网站便宜企业网站管理系统湖南岚鸿
  • 电影下载网站 怎么做flash翻页效果网站模板
  • 社交网站开发语言河北建设工程信息网首页
  • 上海营销型网站建设公司wordpress 自己做页面
  • 网站布局选择临淄信息网手机版
  • 怎样申请网站呢注册商标怎么注册商标
  • 网站地址英文不相关的网站做单项链接可以吗
  • 怎么做网站超链接wordpress 主题 设置
  • 手机电影网站建设如何做网站域名备案
  • 重庆手机网站推广价格网络营销论文参考文献
  • 如何给网站添加搜索关键字做流量网站有收入吗
  • 购物网站的英文如何不让百度收录网站
  • 上海定制网站建设公司哪家好建立公司官网