sql >> データベース >  >> RDS >> Oracle

UUIDをRAW(16)列に挿入する方法

    UUIDをバイト配列に変換する必要があります。メソッドを参照してくださいasBytes 方法。

    その後のバインディングは、setBytesを使用するのと同じくらい簡単です。 。

    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()
    

    ここでは、リンクが機能しない場合に備えて、UUIDからバイト配列への変換方法

      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で最新の重複IDを検索

    2. 列内に保存されたJSONに基づいてクエリを実行します

    3. マルチスレッド環境でのトランザクションの処理

    4. java.io.EOFExceptionとは何ですか、メッセージ:サーバーからの応答を読み取ることができません。 4バイトの読み取り、0バイトの読み取りが必要です