sql >> Databasteknik >  >> RDS >> Mysql

hur man får tillbaka Java UUID lagrat i DB som binär

Jag tror att du kan konvertera din UUID-sträng till en bona fide UUID objekt via UUID#fromString() metod. Sedan kan du jämföra de minsta och mest signifikanta bitfälten av de två UUID som du har:

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

    return false;
}

If, istället för att ha en UUID för referensen har du en byte-array, då kan du bara använda toUUID() metod som du redan har för att konvertera strängen till ett UUID.

Följ länken nedan för en demo som visar att strängen till UUID-konvertering fungerar och är logiskt korrekt:

Demo




  1. ORA-01031:otillräckliga privilegier vid val av vy

  2. Infoga i välj och uppdatera i en enda fråga

  3. MySQL - Kan inte skapa vy med SET-variabel inuti

  4. Favorittrick för att trimma prestanda