MybatisPlus-- 自定义id生成器

本文详细介绍了如何在MybatisPlus中实现自定义ID生成器,包括为什么要自定义、如何配置以及具体步骤,帮助读者理解并掌握这一关键功能。
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 
import java.util.Random;
 
public class CustomIdGenerator implements IdentifierGenerator {
 
    private final char[] arrays = {
        '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
    };
 
    private final Random random = new Random();
 
    @Override
    public Number nextId(Object entity) {
 
        long ops =  0L;
        for (int i = 0; i < 18; i++) {
            int tmp = random.nextInt(9)+1;
            ops = ops * 10 + tmp;
        }
        return ops;
    }
 
    @Override
    public String nextUUID(Object entity) {
        StringBuffer buffer = new StringBuffer();
        String name = entity.getClass().getSimpleName().toLowerCase();
        buffer.append(name).append("-");
        for (int i = 0; i < 9; i++) {
            buffer.append(arrays[random.nextInt(26) + 10]);
            buffer.append(arrays[random.nextInt(10)]);
        }
        return buffer.toString();
    }
}
@Configuration
public class MybatisPlusConfig {
 
    // 自定义ID 生成器
    @Bean
    public IdentifierGenerator identifierGenerator() {
        return new CustomIdGenerator();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值