public interface Blob
BLOB值。
SQL BLOB是一种内置类型,它将二进制大对象作为列值存储在数据库表的一行中。
默认情况下,驱动程序使用SQL Blob来实现locator(BLOB) ,这意味着Blob对象包含一个指向SQL BLOB数据的逻辑指针,而不是数据本身。
Blob对象在创建的事务的持续时间内有效。
方法在接口ResultSet , CallableStatement和PreparedStatement ,如getBlob和setBlob允许编程人员访问SQL BLOB值。 Blob接口提供了获取SQL BLOB (二进制大对象)值的长度的方法,用于在客户端上实现BLOB值,并确定BLOB值中字节模式的位置。 此外,该接口还具有更新BLOB值的方法。
所有的方法Blob接口必须如果JDBC驱动程序支持的数据类型得到充分执行。
| Modifier and Type | Method and Description |
|---|---|
void |
free()
该方法释放了
Blob对象并释放了它所拥有的资源。
|
InputStream |
getBinaryStream()
将此
Blob实例指定的
BLOB值作为流
Blob 。
|
InputStream |
getBinaryStream(long pos, long length)
返回包含部分
Blob值的
InputStream对象,从pos指定的字节开始,长度为长度字节。
|
byte[] |
getBytes(long pos, int length)
检索此
Blob对象所
BLOB BLOB的全部或部分值,作为字节数组。
|
long |
length()
返回此
Blob对象指定的
BLOB值中的字节数。
|
long |
position(Blob pattern, long start)
检索在该字节位置
BLOB通过该指定值
Blob对象在该
pattern开始。
|
long |
position(byte[] pattern, long start)
检索指定字节数组
pattern在该
Blob对象表示的
BLOB值内开始的字节位置。
|
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对象表示的长度为
len个字节的
BLOB值。
|
long length()
throws SQLException
Blob对象指定的
BLOB值中的字节数。
BLOB的字节长度
SQLException - 如果存在访问长度的错误
BLOB
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
byte[] getBytes(long pos,
int length)
throws SQLException
Blob对象所BLOB BLOB的全部或部分值,作为字节数组。
此byte阵列包含多到length开始位置连续字节pos 。
pos - 要提取的BLOB值中第一个字节的顺序位置;
第一个字节在位置1
length - 要复制的连续字节数;
长度的值必须为0或更大
Blob对象指定的
BLOB值中最多
length length个连续字节的字节数组,从位置
pos处的字节开始
SQLException - 访问BLOB值时是否有错误;
如果pos小于1或长度小于0
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
setBytes(long, byte[])
InputStream getBinaryStream() throws SQLException
Blob实例指定的
BLOB值作为流
Blob 。
BLOB数据的流
SQLException - 如果存在访问
BLOB值的错误
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
setBinaryStream(long)
long position(byte[] pattern,
long start)
throws SQLException
Blob对象表示的BLOB值内检索指定字节数组pattern开始的字节位置。
对于搜索pattern的位置开始start 。
pattern - 要搜索的字节数组
start - 开始搜索的位置;
第一名是1
SQLException - 如果存在访问BLOB的
BLOB或者如果启动小于1
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
long position(Blob pattern, long start) throws SQLException
BLOB通过该指定值Blob对象在该pattern开始。
搜索从位置start开始。
pattern -
Blob对象,指定要搜索的
BLOB值
start - 在开始搜索的BLOB值的位置;
第一名是1
SQLException - 如果存在访问
BLOB值的错误,或者如果启动小于1
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
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驱动程序不支持此方法
getBytes(long, int)
int setBytes(long pos,
byte[] bytes,
int offset,
int len)
throws SQLException
byte数组的全部或部分写入Blob对象表示的BLOB值,并返回写入的字节数。
pos写作开始于BLOB ;
来自给定字节数组的len字节被写入。
字节阵列将覆盖在现有的字节Blob对象开始在位置pos 。
如果在写入字节数组时达到Blob值的结尾,那么Blob值将被增加以适应额外的字节。
注意:如果为pos指定的值大于BLOB值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出SQLException ,而其他驱动程序可能会支持此操作。
pos - 在开始写入的BLOB对象中的位置;
第一名是1
bytes - 要写入此
BLOB对象的字节数组
offset - 要开始读取要设置的字节的数组
bytes的偏移量
len - 要从字节数组
BLOB写入的字节数
bytes
SQLException - 如果存在访问
BLOB值的错误或者pos小于1
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
getBytes(long, int)
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驱动程序不支持此方法
getBinaryStream()
void truncate(long len)
throws SQLException
Blob对象表示的长度为len个字节的BLOB值。
注意:如果为pos指定的值大于BLOB值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出SQLException ,而其他驱动程序可能会支持此操作。
len - 这个
Blob对象所代表的
BLOB值的长度(以字节为单位)应该被截断
SQLException - 如果在
BLOB值时出现错误,或者如果len小于0
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
void free() throws SQLException
Blob对象并释放其拥有的资源。
调用free方法后,该对象无效。
在free之后,任何尝试调用free的方法将导致抛出SQLException 。 如果free被多次调用,在后续调用free被视为无操作。
SQLException - 如果发布错误发生Blob的资源
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
InputStream getBinaryStream(long pos, long length) throws SQLException
Blob值的
InputStream对象,从pos指定的字节开始,长度为长度字节。
pos - 要检索的部分值的第一个字节的偏移量。
Blob中的第一个字节在位置1
length - 要检索的部分值的字节长度
InputStream可以读取部分
Blob值。
SQLException - 如果pos小于1,或者如果pos大于
Blob中的字节数,或者如果pos + length大于
Blob中的字节数
SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.