Spec-Zone.ru › OpenJDK 17

Интерфейс Blob

Все известные реализующие классы:
SerialBlob
public interface Blob
Представление (отображение) в языке программирования Java значения SQL BLOB. Значение SQL BLOB — это встроенный тип, который хранит двоичный большой объект как значение столбца в строке таблицы базы данных. По умолчанию драйверы реализуют Blob с использованием значения SQL locator(BLOB), что означает, что объект Blob содержит логическую ссылку на данные SQL BLOB, а не сами данные. Объект Blob действителен в течение транзакции, в которой он был создан.

Методы в интерфейсах ResultSet, CallableStatement и PreparedStatement, такие как getBlob и setBlob, позволяют программисту получить доступ к значению SQL BLOB. Интерфейс Blob предоставляет методы для получения длины значения SQL BLOB (двоичный большой объект), для материализации значения BLOB на клиенте и для определения позиции шаблона байтов в значении BLOB. Кроме того, этот интерфейс имеет методы для обновления значения BLOB.

Все методы интерфейса Blob должны быть полностью реализованы, если драйвер JDBC поддерживает тип данных.

С:
1.2

Краткое описание методов

Модификатор и тип Метод Описание
void free()
Этот метод освобождает объект Blob и высвобождает ресурсы, которые он удерживает.
InputStream getBinaryStream()
Возвращает значение BLOB , обозначенное этим экземпляром Blob , в виде потока.
InputStream getBinaryStream(long pos, long length)
Возвращает объект InputStream, который содержит частичное значение Blob, начиная с байта, указанного pos, длина которого составляет length байтов.
byte[] getBytes(long pos, int length)
Возвращает все или часть значения BLOB, которое представляет этот объект Blob, в виде массива байтов.
long length()
Возвращает количество байтов в значении BLOB, обозначенном этим объектом Blob.
long position(byte[] pattern, long start)
Возвращает позицию байта, в которой указанный массив байтов pattern начинается в значении BLOB, которое представляет этот объект Blob.
long position(Blob pattern, long start)
Возвращает позицию байта в значении BLOB, обозначенном этим объектом Blob , в котором pattern начинается.
OutputStream setBinaryStream(long pos)
Возвращает поток, который может быть использован для записи в значение BLOB, которое представляет этот объект Blob.
int setBytes(long pos, byte[] bytes)
Записывает данный массив байтов в значение BLOB, которое представляет этот объект Blob, начиная с позиции pos, и возвращает количество записанных байтов.
int setBytes(long pos, byte[] bytes, int offset, int len)
Записывает весь или часть данного массива byte в значение BLOB, которое представляет этот объект Blob, и возвращает количество записанных байтов.
void truncate(long len)
Усекает значение BLOB, которое представляет этот объект Blob, до len байтов в длину.

Подробное описание методов

length

long length() throws SQLException
Возвращает количество байтов в значении BLOB, обозначенном этим объектом Blob.
Возвращает:
длина BLOB в байтах
Исключение:
SQLException - если возникла ошибка при доступе к длине BLOB
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.2

getBytes

byte[] getBytes(long pos, int length) throws SQLException
Извлекает все или часть значения BLOB, представленного этим объектом Blob, в виде массива байтов. Этот массив содержит до length последовательных байтов, начиная с позиции pos.
Параметры:
pos - порядковый номер первого байта в значении BLOB, которое требуется извлечь; первый байт находится на позиции 1
length - количество последовательных байтов для копирования; значение длины должно быть 0 или больше
Возвращает:
массив байтов, содержащий до length последовательных байтов из значения BLOB, обозначенного этим объектом Blob, начиная с байта на позиции pos
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB; если pos меньше 1 или length меньше 0
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.2
См. также:
  • setBytes(long, byte[])

getBinaryStream

InputStream getBinaryStream() throws SQLException
Возвращает значение BLOB, обозначенное этим экземпляром Blob, в виде потока.
Возвращает:
поток, содержащий данные BLOB
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.2
См. также:
  • setBinaryStream(long)

position

long position(byte[] pattern, long start) throws SQLException
Возвращает позицию байта, на которой указанный массив байтов pattern начинается внутри значения BLOB, представленного этим объектом Blob. Поиск pattern начинается с позиции start.
Параметры:
pattern - массив байтов, для которого выполняется поиск
start - позиция, с которой начинается поиск; первая позиция - 1
Возвращает:
позицию, на которой появляется шаблон, иначе -1
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB или если start меньше 1
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.2

position

long position(Blob pattern, long start) throws SQLException
Возвращает позицию байта в значении BLOB, обозначенном этим объектом Blob, на которой начинается pattern. Поиск начинается с позиции start.
Параметры:
pattern - объект Blob, обозначающий значение BLOB для поиска
start - позиция в значении BLOB , с которой начинается поиск; первая позиция - 1
Возвращает:
позицию, на которой начинается шаблон, иначе -1
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB или если start меньше 1
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.2

setBytes

int setBytes(long pos, byte[] bytes) throws SQLException
Записывает заданный массив байтов в значение BLOB , представленное этим объектом Blob, начиная с позиции pos, и возвращает количество записанных байтов. Массив байтов перезапишет существующие байты в объекте Blob , начиная с позиции pos. Если при записи массива байтов достигается конец значения Blob, то длина значения Blob увеличивается для размещения дополнительных байтов.

Примечание: Если заданное значение для pos больше длины +1 значения BLOB, то поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException, в то время как другие драйверы могут поддерживать эту операцию.

Параметры:
pos - позиция в объекте BLOB , с которой начать запись; первая позиция - 1
bytes - массив байтов, который нужно записать в значение BLOB, представленное этим объектом Blob
Возвращает:
количество записанных байтов
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB или если pos меньше 1
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4
См. также:
  • getBytes(long, int)

setBytes

int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException
Записывает все или часть заданного массива byte в значение BLOB, представленное этим объектом Blob, и возвращает количество записанных байтов. Запись начинается с позиции pos в значении BLOB; записывается len байтов из заданного массива байтов. Массив байтов перезапишет существующие байты в объекте Blob , начиная с позиции pos. Если при записи массива байтов достигается конец значения Blob, то длина значения Blob увеличивается для размещения дополнительных байтов.

Примечание: Если заданное значение для pos больше длины +1 значения BLOB, то поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException, в то время как другие драйверы могут поддерживать эту операцию.

Параметры:
pos - позиция в объекте BLOB , с которой начать запись; первая позиция - 1
bytes - массив байтов для записи в этот объект BLOB
offset - смещение в массиве bytes , с которого начать чтение байтов для установки
len - количество байтов для записи в значение BLOB из массива байтов bytes
Возвращает:
количество записанных байтов
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB или если pos меньше 1
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4
См. также:
  • getBytes(long, int)

setBinaryStream

OutputStream setBinaryStream(long pos) throws SQLException
Возвращает поток, который можно использовать для записи в значение BLOB, представленное этим объектом Blob. Поток начинается с позиции pos. Байты, записанные в поток, перезапишут существующие байты в объекте Blob , начиная с позиции pos. Если при записи в поток достигается конец значения Blob, то длина значения Blob увеличивается для размещения дополнительных байтов.

Примечание: Если заданное значение для pos больше длины +1 значения BLOB, то поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException , в то время как другие драйверы могут поддерживать эту операцию.

Параметры:
pos - позиция в значении BLOB , с которой начать запись; первая позиция - 1
Возвращает:
объект java.io.OutputStream , в который можно записывать данные
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB или если pos меньше 1
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4
См. также:
  • getBinaryStream()

truncate

void truncate(long len) throws SQLException
Усекает значение BLOB, представленное этим объектом Blob, до длины len байт.

Примечание: Если заданное значение для pos больше длины +1 значения BLOB, то поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException , в то время как другие драйверы могут поддерживать эту операцию.

Параметры:
len - длина в байтах, до которой должно быть усечено значение BLOB, представленное этим объектом Blob
Исключение:
SQLException - если возникла ошибка при доступе к значению BLOB или если len меньше 0
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4

освободить

void free() throws SQLException
Этот метод освобождает объект Blob и высвобождает ресурсы, которые он удерживает. Объект становится недействительным после вызова метода free.

После вызова free, любая попытка вызвать метод, отличный от free, приведет к сбрасыванию SQLException. Если free вызывается несколько раз, последующие вызовы free обрабатываются как команды без действия.

Исключение:
SQLException - если произошла ошибка при высвобождении ресурсов Blob
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

getBinaryStream

InputStream getBinaryStream(long pos, long length) throws SQLException
Возвращает объект InputStream, содержащий частичное значение Blob, начиная с байта, указанного в pos, длиной в length байт.
Параметры:
pos - смещение до первого байта частичного значения, подлежащего извлечению. Первый байт в Blob находится на позиции 1.
length - длина в байтах частичного значения, подлежащего извлечению
Возвращает:
InputStream, через который можно прочитать частичное значение Blob.
Исключение:
SQLException - если pos меньше 1 или если pos больше, чем количество байтов в Blob, или если pos + length больше, чем количество байтов в Blob
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/Blob.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API