Java 获取雪花值赋值给ID

目录

1、Maven引用hutool的jar包

2、 使用Snowflake类生成雪花ID


1、Maven引用hutool的jar包

import方式

如果你想像Spring-Boot一样引入Hutool,再由子模块决定用到哪些模块,你可以在父模块中加入:


    
        
            cn.hutool
            hutool-bom
            ${hutool.version}
            pom
            
            import
        
    

在子模块中就可以引入自己需要的模块了:


    
        cn.hutool
        hutool-http
    

使用import的方式,只会引入hutool-bom内的dependencyManagement的配置,其它配置在这个引用方式下完全不起作用。

#exclude方式

如果你引入的模块比较多,但是某几个模块没用,你可以:


    
        cn.hutool
        hutool-bom
        ${hutool.version}
        
        pom
        
            
                    cn.hutool
                    hutool-system
            
        
    

2、 使用Snowflake类生成雪花ID

分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。Twitter的Snowflake 算法就是这种生成器。

使用方法如下:

//参数1为终端ID
//参数2为数据中心ID
Snowflake snowflake = IdUtil.getSnowflake(1, 1);
long id = snowflake.nextId();

//简单使用
long id = IdUtil.getSnowflakeNextId();
String id = IdUtil.getSnowflakeNextIdStr();

注意 IdUtil.createSnowflake每次调用会创建一个新的Snowflake对象,不同的Snowflake对象创建的ID可能会有重复,因此请自行维护此对象为单例,或者使用IdUtil.getSnowflake使用全局单例对象。

以上为hutool中文网的摘录。 

你可能感兴趣的:(java,Snowflake)