sql >> Databáze >  >> RDS >> Oracle

Jak vložit UUID do sloupce RAW(16).

Musíte převést UUID na bajtové pole. Viz metoda asBytes jak to udělat.

Poté je vazba stejně jednoduchá jako pomocí setBytes .

Příklad

def stmt = con.prepareStatement("insert into TAB_UUID (id, uuid) values (?,?)") 
// bind
stmt.setInt(1,1)
def uuid = UUID.randomUUID()
stmt.setBytes(2,asBytes(uuid)) 
def rowCount = stmt.executeUpdate()

Zde jen pro případ, že odkaz nefunguje, metoda převodu UUID na pole bajtů

  public static byte[] asBytes(UUID uuid) {
    ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
    bb.putLong(uuid.getMostSignificantBits());
    bb.putLong(uuid.getLeastSignificantBits());
    return bb.array();
  }


  1. MySQL:Kdy jsou skutečně potřebná oprávnění Flush v MySQL?

  2. Jak pg_dump RDS Postgres databázi?

  3. Nejlepší způsob, jak uložit SET větší než 64

  4. Jak vytvořit pole v PostgreSQL