目錄
一、什么是雪花算法
二、使用雪花算法
?三、使用UUID
使用自增主鍵是數據庫中常用的唯一標識,今天嘗試使用mybatisplus來實現三種方式的主鍵ID
使用起來也很簡單 用注解指定一下使用那種方式的主鍵
一、什么是雪花算法
一種特殊的算法可以計算得到一個唯一標識?
二、使用雪花算法
/*** 數據庫ID自增* <p>該類型請確保數據庫設置了 ID自增 否則無效</p>*/AUTO(0),/* 以下2種類型、只有當插入對象ID 為空,才自動填充。 *//*** 分配ID (主鍵類型為number或string),* 默認實現類 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(雪花算法)** @since 3.3.0*/ASSIGN_ID(3),/*** 分配UUID (主鍵類型為 string)* 默認實現類 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(UUID.replace("-",""))*/ASSIGN_UUID(4);
?
@RequestMapping("/test")void test() {//目前這個id是沒有填充的SysUser sysUser = new SysUser();sysUser.setUserAccount("153abc");sysUser.setUserPassword("h12345");sysUser.setCreateBy(67L);sysUser.setUpdateBy(99L);System.out.println("調用insert之前的id:" + sysUser.getUserId());sysUserService.insertUser(sysUser);//調用之后,數據不僅會保存到數據庫,而且會自動更新當前對象的值System.out.println("調用insert之后的id:" + sysUser.getUserId());}
?數據庫表中也會多一條數據
三、使用UUID
修改注解中的參數
?數據不僅更新到數據庫了 也幫我們更新了當前這個對象中的數據