Java UUID是否区分大小写

Java UUID是否区分大小写,第1张

首先说一下原理,我所知道由Java生成的UUID是通过javaUtilUUID的静态方法randomUUID()来生成的。而UUID一般用于数据库主键填充。

然后回答你的问题,如果你直接使用UUID类的这个方法生成UUID的话,默认是小写英文字符和数字的组合(更准确地说是16进制数)。如果你想区分大小写,那么有两种方法:

1、在生成UUID后做大写处理,再存入数据库。当然,你在查询数据库的数据时,涉及到主键时也要注意相应条件的改变;

2、先存入数据库,然后在查询条件中进行处理。一般的关系数据库都会有字符大小写相关的函数。

结论:默认生成的UUID是小写的,可以通过其他方式将其改成大写。因为数据库对大小写是区分的,所以相当于对UUID也是区分大小写的。

UUID含义通用唯识别码 (Universally Unique Identifier) 软件建构标准源软件基金 (Open Software Foundation, OSF) 组织应用布式计算环境 (Distributed Computing Environment, DCE) 领域部 UUID 目让布式系统所元素都能唯辨识资讯需要透央控制端做辨识资讯指定每都建立与其冲突 UUID情况需考虑数据库建立名称重复问题目前广泛应用 UUID即微软 Microsoft's Globally Unique Identifiers (GUIDs)其重要应用则 Linux ext二/ext三 档案系统、LUKS 加密割区、GNOME、KDE、Mac OS X 等等 UUID指台机器数字保证同空所机器都唯通平台提供API  // 使用JDK一5,UUID变件简单事,JDK实现UUID:  javautilUUID,直接调用即  UUID uuid  =  UUIDrandomUUID();  String s = UUIDrandomUUID()toString();//用数据库主键id非错    //UUID由十六位数字组,表现形式例  //550E吧四00-E二9B-一一D四-A漆一陆-四四陆陆55四四000

Mysql 用UUID做主键可行么

在mysql中可以把UUID作为逻辑主键,物理主键依然使用自增ID

1、UUID定义

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。

2、UUID优点

1) 能够保证独立性,程序可以在不同的数据库间迁移,效果不受影响。

2) 保证生成的ID不仅是表独立的,而且是库独立的,这点在你想切分数据库的时候尤为重要。

3) 在oracle做数据迁移的时候不会因为表的sequence不连续而出现问题

3、UUID缺点

1) 比较占地方,和INT类型相比,存储一个UUID要花费更多的空间。

2) 使用UUID后,URL显得冗长,不够友好。

作为主键,UUID长度过长,主键索引KeyLength长度过大,而影响能够基于内存的索引记录数量,进而影响基于内存的索引命中率,而基于硬盘进行索引查询性能很差。严重影响数据库服务器整体的性能表现。 建议,如果考虑分布式,可以仿造MongoDB建立索引,能有效实现服务器同步,KeyLength也很小。如果使用UUID进行数据同步管理,需要对UUID字符串进行Djb的Hash算法,然后对Int/Long类型的哈希数值进行索引。第一次检索,通过UUIDHashCode将结果集范围缩小,再使用UUID定位具体数据。这样性能能高很多。使用Int类型的ID作为主键。UUID不作为主键,而仅作为数据同步的标记字段被使用。

// 如果使用的JDK15的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:

javautilUUID,直接调用即可

UUID uuid = UUIDrandomUUID();

String s = UUIDrandomUUID()toString();//用来生成数据库的主键id非常不错。。

//UUID是由一个十六位的数字组成,表现出来的形式例如

//550E8400-E29B-11D4-A716-446655440000

oracle有自动生成uuid的功能嘛?

应该是java或者说框架生成的UUID,也可在数据库中通过函数或者存储过程自定义生成UUID,一般都是字符串类型或者说varchar类型

UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。

以上就是关于Java UUID是否区分大小写全部的内容,包括:Java UUID是否区分大小写、uuid交给数据库生成还是交给java生成好、Mysql 用UUID做主键可行么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9873851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存