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

利用SingleKeyDatabaseShardingAlgorithm,自定义分片算法实现

该接口通过继承SingleKeyShardingAlgorithm,实现:

public String doEqualSharding(Collection<String> availableTargetNames, ShardingValue<Comparable<?>> shardingValue);public Collection<String> doInSharding(Collection<String> availableTargetNames, ShardingValue<Comparable<?>> shardingValue);public Collection<String> doBetweenSharding(Collection<String> availableTargetNames, ShardingValue<Comparable<?>> shardingValue);

今天,我们主要来实现:doEqualSharding方法。

public class MyDatabaseShardingAlgorithm implements SingleKeyDatabaseShardingAlgorithm<Long> {@Overridepublic String doEqualSharding(Collection<String> collection, ShardingValue<Long> shardingValue) {// 在这里根据分片键,计算出实例的物理库数据源return xxx;}}
public class MyTableShardingAlgorithm implements SingleKeyTableShardingAlgorithm<Long> {@Overridepublic String doEqualSharding(Collection<String> collection, ShardingValue<Long> shardingValue) {// 根据分片键,计算出实际的物理表return xxx;}}

根据以上获取到的物理库名和表名,改写sql,替换sql中的逻辑库名和逻辑表名,就可以去执行真正的物理sql了。

http://www.xdnf.cn/news/3334.html

相关文章:

  • 简易APP更新功能
  • 深入理解CSS显示模式与盒子模型
  • 数据库12(游标)
  • 安全指南 | MCP安全检查清单:AI工具生态系统的隐形守护者
  • 深入浅出循环神经网络(RNN):原理、应用与实战
  • Tomcat DOS漏洞复现(CVE-2025-31650)
  • 数据库规范
  • 国产化海光C86架构服务器安装windows实录
  • Transformer架构指南:从原理到实战资源全更新
  • 用Power shell脚本批量发布rdl文件到SQL Server Reporting Service
  • 详细介绍C++中指针解引用
  • 枚举法——C++算法【泪光2929】
  • ShardingSphere5详细笔记
  • Vue2 和 Vue3 的核心区别
  • 腾讯云web服务器配置步骤是什么?web服务器有什么用途?
  • TM1668芯片学习心得二
  • 【SpringBoot】基于mybatisPlus的博客系统
  • 【计算机视觉】目标检测:深度解析MMDetection:OpenMMLab开源目标检测框架实战指南
  • Winform(6.序列化方式)
  • 港口危货储存单位主要安全管理人员考试精选题目
  • [Unity]设置自动打包脚本
  • Copilot 祝你走在AI前沿:2025 年 4 月动态
  • 小程序中的页面跳转
  • TimeDistill:通过跨架构蒸馏的MLP高效长期时间序列预测
  • 有状态服务与无状态服务:差异、特点及应用场景全解
  • leetcode76
  • Vue+tdesign t-input-number 设置长度和显示X号
  • 智能驾驶新时代:NVIDIA高级辅助驾驶引领未来出行安全
  • iOS 性能调优实战:三款工具横向对比实测(含 Instruments、KeyMob、Xlog)
  • C语言与Unix的传奇起源