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