广播表配置
广播表概述
- 指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全一致
- 适用于数据量不大且需要与海量数据的表进行关联查询的场景,例如:字典表
使用广播表
在两个数据库中同时创建广播表:
CREATE TABLE `order_status` (
`tstates` bigint(255) DEFAULT NULL,
`tname` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在工程当中创建所对应的对象实体类:
/**
* @author BNTang
* @version V1.0
* @project sharding-sphere
* @date Created in 2021/12/19 /019 12:15
* @description
**/
@Data
@TableName("order_status")
public class OrderStates {
private Long tstates;
private String tname;
}
创建 Mapper:
/**
* @author BNTang
* @version V1.0
* @project sharding-sphere
* @date Created in 2021/12/19 /019 12:16
* @description
**/
public interface OrderStateMapper extends BaseMapper<OrderStates> {
}
修改 application.properties 添加广播表相关配置:
# 广播表
spring.shardingsphere.rules.sharding.broadcast-tables=order_status
# 指定某列的生成策略
spring.shardingsphere.rules.sharding.tables.order_status.key-generate-strategy.column=tstates
# 主键ID生成算法,使用的是雪花算法
spring.shardingsphere.rules.sharding.tables.order_status.key-generate-strategy.key-generator-name=snowflake
测试
@Test
void insertStatus() {
OrderStates orderStates = new OrderStates();
orderStates.setTname("处理中");
this.orderStateMapper.insert(orderStates);
}
观察结果,可以在两个数据库当中看到相同的记录:
标签:
ShardingSphere
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具