web-dev-qa-db-ja.com

Java SE 1.5.0 with byte []入力でJava.sql.Blobオブジェクトを作成する方法は?

PreparedStatement#setBlob()を使用してテーブルを更新するために、byte []入力からBlobオブジェクトを作成したいと思います。 J2SE 6では、これを行うために Java.sql.Connection#createBlob() があります。 J2SE 1.5.0でこれに似たものはありますか? J2SE 1.5.0でbyte[]データを使用してBLOBタイプの列を更新する最良の方法は何ですか?

18
ssethupathi

SerialBlob を使用した例:

import Java.sql.Blob;
import javax.sql.rowset.serial.SerialBlob;

byte[] byteArray = .....;
Blob blob = new SerialBlob(byteArray);
27
Buhake Sindi

Blob オブジェクトの作成について心配する必要はまったくありません。それらをデータベースのblobとして扱い、byte[]s Java。例えば:

@Entity
@Table(name = "some.table")
public class MyEntity
{
    @Id
    int myId;

    @Lob
    byte[] myBlob;

    // snip getters & setters
}

Blobインスタンスを自分で作成することに真剣に取り組んでいる場合は、 SerialBlob 実装を使用できます。

byte[] bytes = ...;
Blob myBlob = new SerialBlob(bytes);
7
Matt Ball

実際にBlob自体を作成する必要はありません。準備済みステートメントを実行するときは、blobパラメーターを設定するときに、パラメーターにByteArrayInputStreamを使用します。

0
Mike Thomsen