问题
ShardingJdbc 生成雪花算法id主键时,插入到表中的数据显示生成的内容存放在别的字段上

正确的应该是:

原因
生成雪花算法id时候,其他属性值也要填写默认值,否则,id就会生成到别的属性列的位置 这里找了好久这个问题
实现效果


代码
sharding配置:根据年月分表
# 配置默认数据源ds1
sharding:
# 默认数据源,主要用于写,注意一定要配置读写分离 ,注意:如果不配置,那么就会把三个节点都当做从slave节点,新增,修改和删除会出错。
default-data-source-name: ds1
# 配置分表规则
tables:
# order 逻辑表名
# 订单表按照 年月分表 生成表名 order_202101,order_202102,order_202103,order_202201,order_202202,order_202203
order:
# 最后一部分 ${ 生成一个从1到3的数字序列,然后将每个数字转换为字符串,并在左边填充0,使其总长度为2 }
actual-data-nodes

文章讲述了在使用ShardingJdbc时,如何配置雪花算法ID生成策略以确保主键插入到正确字段的问题,强调了配置默认数据源、分表规则以及worker.id和max.vibration.offset参数的重要性。
最低0.47元/天 解锁文章
1623





