developS

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

uuid的设计与使用

UUID全称Universal Unique Identifier是一串128位数字码,用于唯一识别网络对象或者事件。

核心思想是结合机器的网卡、当地时间、时间戳,随机数,机器号来生成GUID

 

项目背景:

项目中存在公司基础信息,不同产线的资质信息,合同,银行账号等信息

新增场景,需要有一个sid标识公司,使用pid标识公司下的产线。

仅仅使用自增的主键是不足够的,还要生成一个唯一性标识来区分产线!

 

方法:使用java自带生成uuid生成标识公司和产线的sid和pid

复制代码
    private String queryUUID() throws SQLException {
//防止并发创建
synchronized (this) { String uuid = UUID.randomUUID().toString(); int count = baseDao.queryWithId(uuid); int switchCount = 0;
//防止出现重复 并且提供5次的重试次数
while (count > 0 || switchCount < 5) { uuid = UUID.randomUUID().toString(); count = baseDao.queryWithId(uuid); switchCount++; } return uuid; } }
复制代码

新增数据:生成新的uuid

更新数据:当前的uuid是存在的,先删除数据再更新,更新需要同时更新5张表以上!

若写更新语句,那么需要重写5次更新语句,重写较多的更新逻辑,因此采用先删除数据再插入数据!

同时使用注解@Transactional保证事务性,要么全部成功,要么全部失败!

posted on   四十四次日落95  阅读(45)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示