官方文档
UidGenerator源码地址
UidGenerator官方中文文档
接入步骤
1.下载源码并打包
由于UidGenerator没有上传jar包到maven仓库上,需要从GitHub上上面下载源码,自己打成jar包在引入到项目中;
下载UidGenerator源码后需要修改源码pom文件中的mybatis,mybatis-spring,mysql-connector-java这三个jar包的版本,版本号和自己springboot工程里面对应三个jar包的版本号一致,不然会导致引入UidGenerator后mybatis启动报错。
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
<scope>test</scope>
</dependency>
2.springboot工程pom文件引入UidGenerator配置
在自己的项目中引入UidGenerator的maven配置,groupId,artifactId,version在自己本地打包时都可以任意修改
<!-- 百度uidgenerator 唯一ID生成器
这个jar包maven仓库里面没有上传,需要自己把源码拉下来本地打包
源码地址:https://github.com/baidu/uid-generator -->
<dependency>
<groupId>com.baidu.fsg</groupId>
<artifactId>uid-generator</artifactId>
<version>1.0.0-RELEASES</version>
</dependency>
3.本地数据库创建UidGenerator依赖的表结构
这一步跟官方文档的步骤一步骤二一样,有一点要注意,官方文档的MODIFIED,CREATED两个字段的类型都是TIMESTAMP,MySQL5.6以上的版本建表时可能会报:Error Code: 1067. Invalid default value for ‘CREATED’ 的错误,只要把字段类型修改为datetime 即可。SQL如下:
CREATE TABLE WORKER_NODE
(
ID BIGINT NOT NULL AUTO_INCREMENT COMMENT 'auto increment id',
HOST_NAME VARCHAR(64) NOT NULL COMMENT 'host name',
PORT VARCHAR(64) NOT