W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
自 3.3.0 開始,默認(rèn)使用雪花算法+?UUID
?(不含中劃線)
自定義示例工程:
方法 | 主鍵生成策略 | 主鍵類型 | 說(shuō)明 |
?nextId ? |
ASSIGN_ID, |
Long, Integer, String |
支持自動(dòng)轉(zhuǎn)換為 String 類型,但數(shù)值類型不支持自動(dòng)轉(zhuǎn)換,需精準(zhǔn)匹配,例如返回 Long,實(shí)體主鍵就不支持定義為 Integer |
?nextUUID ? |
ASSIGN_UUID, |
String |
默認(rèn)不含中劃線的 UUID 生成 |
@Component
public class CustomIdGenerator implements IdentifierGenerator {
@Override
public Long nextId(Object entity) {
//可以將當(dāng)前傳入的class全類名來(lái)作為bizKey,或者提取參數(shù)來(lái)生成bizKey進(jìn)行分布式Id調(diào)用生成.
String bizKey = entity.getClass().getName();
//根據(jù)bizKey調(diào)用分布式ID生成
long id = ....;
//返回生成的id值即可.
return id;
}
}
@Bean
public IdentifierGenerator idGenerator() {
return new CustomIdGenerator();
}
@Bean
public MybatisPlusPropertiesCustomizer plusPropertiesCustomizer() {
return plusProperties -> plusProperties.getGlobalConfig().setIdentifierGenerator(new CustomIdGenerator());
}
<bean name="customIdGenerator" class="com.baomidou.samples.incrementer.CustomIdGenerator"/>
<bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig">
<property name="identifierGenerator" ref="customIdGenerator"/>
</bean>
@Bean
public GlobalConfig globalConfig() {
GlobalConfig conf = new GlobalConfig();
conf.setIdentifierGenerator(new CustomIdGenerator());
return conf;
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: