Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment récupérer l'UUID java stocké dans la base de données en tant que binaire

Je pense que vous pouvez convertir votre chaîne UUID en un véritable UUID objet via l'UUID#fromString() méthode. Ensuite, vous pouvez comparer les champs des bits les moins et les plus significatifs des deux UUID que vous avez :

boolean UUIDIsEqual(UUID one, String twoInput) {
    UUID two = UUID.fromString(twoInput);
    if (one.getLeastSignificantBits() == two.getLeastSignificantBits() &&
        one.getMostSignificantBits() == two.getMostSignificantBits()) {
        return true;
    }

    return false;
}

Si, au lieu d'avoir un UUID pour la référence, vous avez un tableau d'octets, alors vous pouvez simplement utiliser le toUUID() méthode dont vous avez déjà converti la chaîne en un UUID.

Suivez le lien ci-dessous pour une démonstration montrant que la conversion de chaîne en UUID fonctionne et est logiquement correcte :

Démo