springboot2.0集成百度uidgenerator

springboot2.0集成百度uidgenerator

github上官方没有springboot的集成方式,
并且如果按官网集成方式,就算在springboot启动类上加入,
@ComponentScan(basePackages = {“net.xxx.xxx”,“com.baidu.fsg.uid”})
也不行,最后启动时会遇到DisposableWorkerIdAssigner注入不了workerNodeDAO的问题
(具体原因是WorkerNodeDAO中的@Repository在springboot项目中没起作用,没找到办法解决)

官网步骤:
https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md
第一第二步按官网步骤走:
步骤2建表时可能会报错,原因是该建表语句定义了两个TIMESTAMP字段,解决办法:
建表前先设置sql_mode:
set sql_mode=“NO_ENGINE_SUBSTITUTION”;
第三步:
(本springboot项目需要已经集成mybatis+druid)
1.拷贝WorkerNodeDAO.java到自己的springboot项目中,命名成WorkerNodeMapper.java
2拷贝WORKER_NODE.xml到自己的springboot项目中,命名成WorkerNodeMapper.xml
(注意命名规范,spring加载mybatis的xml文件会按配置好的目录和文件名加载,如下:)

在这里插入图片描述在这里插入图片描述

修改WorkerNodeMapper.xml中的命名空间
在这里插入图片描述
3.拷贝DisposableWorkerIdAssigner.java到自己的springboot项目中,修改注入的WorkerNodeDAO为WorkerNodeMapper;
在这里插入图片描述
4.创建配置类
在这里插入图片描述
或者使用xml配置方式
在这里插入图片描述
在这里插入图片描述

目录结构:
在这里插入图片描述
5.测试:

在这里插入图片描述
在这里插入图片描述

没有更多推荐了,返回首页