-
- 所有已知实现类:
-
SerialBlob
public interface BlobSQLBLOB值的BLOB“¢编程语言中的表示(映射)。 SQLBLOB是一种内置类型,它将二进制大对象存储为数据库表的一行中的列值。 默认情况下,驱动程序使用SQLlocator(BLOB)实现Blob,这意味着Blob对象包含指向SQLBLOB数据的逻辑指针,而不是数据本身。Blob对象在创建事务的持续时间内有效。方法在接口
ResultSet,CallableStatement,并PreparedStatement,如getBlob和setBlob允许编程人员访问SQLBLOB值。Blob接口提供了获取SQLBLOB(二进制大对象)值的长度的方法,用于在客户端上实现BLOB值,以及确定BLOB值内的字节模式的位置。 此外,此接口还具有更新BLOB值的方法。如果JDBC驱动程序支持数据类型,则必须完全实现
Blob接口上的所有方法。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 voidfree()此方法释放Blob对象并释放它所拥有的资源。InputStreamgetBinaryStream()以流的BLOB检索此Blob实例指定的BLOB值。InputStreamgetBinaryStream(long pos, long length)返回InputStream对象,该对象包含部分Blob值,以pos指定的字节开头,长度为length个字节。byte[]getBytes(long pos, int length)检索此Blob对象表示的BLOB值的全部或部分,作为字节数组。longlength()返回此Blob对象指定的BLOB值中的字节数。longposition(byte[] pattern, long start)检索指定字节数组pattern在此Blob对象表示的BLOB值内开始的字节位置。longposition(Blob pattern, long start)检索此Blob对象指定的BLOB值中的字节位置,pattern开始于该对象。OutputStreamsetBinaryStream(long pos)检索可用于写入此Blob对象表示的BLOB值的流。intsetBytes(long pos, byte[] bytes)将给定的字节数组写入此Blob对象所代表的BLOB值,从位置pos开始,并返回写入的字节数。intsetBytes(long pos, byte[] bytes, int offset, int len)将给定byte数组的全部或部分写入此Blob对象表示的BLOB值,并返回写入的字节数。voidtruncate(long len)截断此Blob对象表示的BLOB值为len字节长度。
-
-
-
方法详细信息
-
length
long length() throws SQLException返回此Blob对象指定的BLOB值中的字节数。- 结果
-
BLOB长度,以字节为单位 - 异常
-
SQLException- 如果访问BLOB的长度时BLOB -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
getBytes
byte[] getBytes(long pos, int length) throws SQLException检索此Blob对象表示的BLOB值的全部或部分,作为字节数组。 此byte数组包含从位置pos开始的最多length个连续字节。- 参数
-
pos- 要提取的BLOB值中第一个字节的序号位置; 第一个字节位于第1位 -
length- 要复制的连续字节数; length的值必须为0或更大 - 结果
-
一个字节数组,最多包含
length连续字节,该字节来自此Blob对象指定的BLOB值,以Blob位置的字节pos - 异常
-
SQLException- 如果访问BLOB值时出错; 如果pos小于1或长度小于0 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
- 另请参见:
-
setBytes(long, byte[])
-
getBinaryStream
InputStream getBinaryStream() throws SQLException
以流的BLOB检索此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指定的值大于BLOB值的长度+ 1,则行为未定义。 某些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来自给定字节数组的len字节。 字节阵列将覆盖在现有的字节Blob对象开始在位置pos。 如果的端Blob而写入的字节的阵列达到值,则长度Blob值将增加以容纳额外的字节。注意:如果为
pos指定的值大于BLOB值的长度+ 1,则行为未定义。 某些JDBC驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数
-
pos-BLOB对象中开始写入的位置; 第一个位置是1 -
bytes- 要写入此BLOB对象的字节数组 -
offset- 数组bytes的偏移量,在该数组中开始读取要设置的字节 -
len- 从字节数组BLOB写入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指定的值大于BLOB值的长度+ 1,则行为未定义。 某些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指定的值大于BLOB值的长度+ 1,则行为未定义。 某些JDBC驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数
-
len- 此Blob对象表示的BLOB值应截断的长度(以字节为单位) - 异常
-
SQLException- 如果访问BLOB值时出错,或者len小于0 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.4
-
free
void free() throws SQLException
此方法释放Blob对象并释放它所拥有的资源。 调用free方法后,该对象无效。调用
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
-
-