twitter分布式主键id生成器

Posted coder-lzh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了twitter分布式主键id生成器相关的知识,希望对你有一定的参考价值。

pom

<!--生成id-->
        <dependency>
            <groupId>com.github.bingoohuang</groupId>
            <artifactId>idworker-client</artifactId>
            <version>1.0</version>
        </dependency>

添加到spring中

@Bean
public Sid returnSid(){
    return new Sid();
}

使用方法

package com.lzh.service.impl;

import com.lzh.dao.VideosMapper;
import com.lzh.pojo.Videos;
import com.lzh.service.VideoService;
import org.n3r.idworker.Sid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 * Created by 敲代码的卡卡罗特
 * on 2018/11/3 18:08.
 */
@Service
public class VideoServiceImpl implements VideoService {

    @Autowired
    private VideosMapper videosMapper;
    @Autowired
    private Sid sid;

    @Transactional(propagation = Propagation.REQUIRED)
    @Override
    public String saveVideo(Videos video) {

        String id = sid.nextShort();
        video.setId(id);
        videosMapper.insertSelective(video);

        return id;
    }

}

 

以上是关于twitter分布式主键id生成器的主要内容,如果未能解决你的问题,请参考以下文章

数据库分库分表(二)Twitter-Snowflake(64位分布式ID算法)分析与JAVA实现

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型