Mybatis plus主鍵策略

2021-10-06 06:00:32 字數 458 閱讀 6967

如果有三個資料表,第乙個資料表由10000個資料,最後一段資料的id=10000,那麼第二個資料表的第乙個id=10001,以此類推,第三個資料表的id=20001-30000,那麼第二個和第三個表的首個資料id值,就需要得到上乙個表的最後乙個id值,再加1,才是本資料表的起始id值。

排序不方便

假如乙個集群中由5臺redis,可以初始化每台redis的值分別是1,2,3,4,5,然後步長都是5,每個redis生成的id為:

a:1,6,11,16,21

b:2,7,12,17,22

使用41位元作為毫秒數,10bit作為機器的id(5個bit是資料中心,5個bit的機器id),12bit作為毫秒內的流水號(意味著每個節點每毫秒可以殘生4096個id),最後乙個符號位,永遠是0

mybatis plus主鍵策略

mp 支援多種主鍵策略 預設是推特的 雪花演算法 也可以設定其他策略下面我演示主鍵策略使用 mp的主鍵定義在乙個乙個列舉類中 原始碼如下 package com.baomidou.mybatisplus.annotation public enum idtype public int getkey ...

Mybatis plus之主鍵策略

執行結果可以看出user中多了乙個id 主鍵策略 uuid,自增id,雪花演算法,redis,zookeeper uuid 無排序,太長了 自增id 在單個資料庫或讀寫分離或一主多從的情況下,只有乙個主庫可以生成。有單點故障的危險 twitter的snowflake演算法 snowflake是twi...

mybatis plus主鍵生成策略

我們平時使用主鍵時會為主鍵加上自增長策略,like this auto increment 但有時自增長策略並不能滿足我們的專案需求,那我們就需要加一些其他的生成策略。讓我們列一下幾種常用主鍵生成 策略,以及在專案中設定方法 no1自動增長 自動增長是我們見過的最基本的生成策略,它遵循的是從1開始依...