Подтвердить что ты не робот

Как создать объект java.sql.Blob в Java SE 1.5.0 с байтом [] ввода?

Я хочу создать объект Blob из байта [] для обновления таблицы с помощью PreparedStatement#setBlob(). В J2SE 6 мы выполнили java.sql.Connection#createBlob(), чтобы это сделать. Есть ли что-то подобное в J2SE 1.5.0? Каков наилучший способ обновления столбца типа BLOB с данными byte[] в J2SE 1.5.0?

4b9b3361

Ответ 1

Пример, используя SerialBlob:

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

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

Ответ 2

Вам не нужно беспокоиться о создании объектов Blob. Относитесь к ним как к блокам в базе данных и byte[] в 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);

Ответ 3

Вам не нужно создавать сам Blob. При выполнении подготовленного оператора используйте параметр ByteArrayInputStream для параметра при настройке параметра blob.