超全面!Java核心知识总结(点击查看)
超全面!Java核心知识总结(点击查看)
作者
:风.foxwho
foxwho.blog.csdn.net/article/details/90200602
因为升级 使用springboot2.x java 11 的关系,根据官方文档和网上其他作者配置的怎么也配置不成功,最后自己一步一步升级引入依赖,修改增加接口注入来源,最后成功。
升级成功后的源码地址
https://github.com/foxiswho/java-spring-boot-uid-generator-baidu
部分升级说明
这里的升级,是升级 官方 代码依赖
官方代码地址:https://github.com/baidu/uid-generator
创建数据库存
导入官网数据库SQL
https://github.com/baidu/uid-generator/blob/master/src/main/scripts/WORKER_NODE.sql
也就是一张表
我这里是在demo库中,创建了这张表
DROP TABLE IF EXISTS WORKER_NODE;
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 NULL COMMENT 'port',
TYPE INT NOT NULL COMMENT 'node type: ACTUAL or CONTAINER',
LAUNCH_DATE DATE NOT NULL COMMENT 'launch date',
MODIFIED TIMESTAMP NOT NULL COMMENT 'modified time',
CREATED TIMESTAMP NOT NULL COMMENT 'created time',
PRIMARY KEY(ID)
)
COMMENT='DB WorkerID Assigner for UID Generator',ENGINE = INNODB;
如果报错,基本上是时间问题,因为mysql 低版本控制比较严格,解决方法有多种方式
方式一:
直接把TIMESTAMP改成DATETIME 即可
方式二:
执行SQL 语句前先执行:
set sql_mode="NO_ENGINE_SUBSTITUTION";
mysql 配置信息更改
因为升级到8.x ,配置文件部分也要跟着修改
uid-generator 下,测试文件夹下的资源包uid/mysql.properties
以下修改为
mysql.driver=com.mysql.cj.jdbc.Driver
修改完成后,配置好数据库相关参数,这样单元测试即可执行成功
案例
计划将全局生成唯一ID作为一个服务提供者,供其他微服务使用调用
这里创建了一个项目,项目中包含两个子项目一个是uid-generator官方本身,当然你也可以不需要放到本项目中,直接使用官方的自行打包即可,一个是uid-provider 服务提供者
以下说明的主要是服务提供者
创建 子项目 uid-provider
POM配置文件如下
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>java-spring-boot-uid-generator-baiduartifactId>
<groupId>com.foxwho.demogroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>uid-providerartifactId>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>