|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface Blob
SQL BLOB
值在 JavaTM 编程语言中的表示形式(映射关系)。SQL BLOB
是内置类型,它将二进制大对象 (Binary Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(BLOB)
实现 Blob
,这意味着 Blob
对象包含一个指向 SQL BLOB
数据的逻辑指针而不是数据本身。Blob
对象在它被创建的事务处理期间有效。
接口 ResultSet
、CallableStatement
和 PreparedStatement
中的方法(如 getBlob
和 setBlob
)允许编程人员访问 SQL BLOB
值。Blob
接口提供一些方法来获取 SQL BLOB
(Binary Large Object) 值的长度、在客户端实现 BLOB
值以及确定 BLOB
值中某一字节样本的位置。此外,此接口还有更新 BLOB
值的方法。
如果 JDBC 驱动程序支持该数据类型,则必须完全实现 Blob
接口的所有方法。
方法摘要 | |
---|---|
void |
free()
此方法释放 Blob 对象以及它所占用的资源。 |
InputStream |
getBinaryStream()
以流的形式获取此 Blob 实例指定的 BLOB 值。 |
InputStream |
getBinaryStream(long pos,
long length)
返回包含部分 Blob 值的 InputStream 对象,该值从 pos 指定的字节开始,长度为 length 个字节。 |
byte[] |
getBytes(long pos,
int length)
以 byte 数组的形式获取此 Blob 对象表示的全部或部分 BLOB 值。 |
long |
length()
返回此 Blob 对象指定的 BLOB 值中的字节数。 |
long |
position(Blob pattern,
long start)
获取此 Blob 对象指定的 BLOB 值中 pattern 开始处的字节位置。 |
long |
position(byte[] pattern,
long start)
获取此 Blob 对象表示的 BLOB 值中指定 byte 数组 pattern 开始处的字节位置。 |
OutputStream |
setBinaryStream(long pos)
获取用于写入此 Blob 对象表示的 BLOB 值的流。 |
int |
setBytes(long pos,
byte[] bytes)
从位置 pos 处开始,将给定 byte 数组写入此 Blob 对象表示的 BLOB 值,并返回写入的字节数。 |
int |
setBytes(long pos,
byte[] bytes,
int offset,
int len)
将所有或部分给定的 byte 数组写入此 Blob 对象表示的 BLOB 值中,并返回写入的字节数。 |
void |
truncate(long len)
截取此 Blob 对象表示的 BLOB 值,使其长度为 len 个字节。 |
方法详细信息 |
---|
long length() throws SQLException
Blob
对象指定的 BLOB
值中的字节数。
BLOB
的字节长度
SQLException
- 如果访问 BLOB
的长度时发生错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法byte[] getBytes(long pos, int length) throws SQLException
Blob
对象表示的全部或部分 BLOB
值。此 byte
数组包含从位置 pos
开始的 length
个连续字节。
pos
- 要提取的 BLOB
值中第一个字节的顺序位置;第一个字节位于位置 1 处length
- 要复制的连续字节的数量;length 的值必须大于等于 0
Blob
对象指定的 BLOB
值中的 length
个连续字节(从位置 pos
处的字节开始)
SQLException
- 如果访问 BLOB
值时发生错误;如果 pos 小于 1 或 length 小于 0
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法setBytes(long, byte[])
InputStream getBinaryStream() throws SQLException
Blob
实例指定的 BLOB
值。
BLOB
数据的流
SQLException
- 如果访问 BLOB
值时发生错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法setBinaryStream(long)
long position(byte[] pattern, long start) throws SQLException
Blob
对象表示的 BLOB
值中指定 byte 数组 pattern
开始处的字节位置。对 pattern
的搜索从位置 start
开始。
pattern
- 要搜索的字节数组start
- 开始搜索的位置;第一个位置是 1
SQLException
- 如果访问 BLOB
时发生错误或者 start 小于 1
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法long position(Blob pattern, long start) throws SQLException
Blob
对象指定的 BLOB
值中 pattern
开始处的字节位置。从位置 start
开始搜索。
pattern
- 指定要搜索的 BLOB
值的 Blob
对象start
- BLOB
值中开始进行搜索的位置;第一个位置是 1
SQLException
- 如果访问 BLOB
值时发生错误或者 start 小于 1
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法int setBytes(long pos, byte[] bytes) throws SQLException
pos
处开始,将给定 byte 数组写入此 Blob
对象表示的 BLOB
值,并返回写入的字节数。该 byte 数组将从位置 pos
开始重写 Blob
对象中的现有字节。如果在写 byte 数组时到达 Blob
值的末尾,则将增加 Blob
值的长度,以容纳额外的字节。
注:如果为 pos
指定的值大于 BLOB
值的长度+1,则行为是不确定的。一些 JDBC 驱动程序可能抛出 SQLException
,而另一些驱动程序可能支持此操作。
pos
- BLOB
对象开始进行写入操作的位置;第一个位置是 1bytes
- 要写入此 Blob
对象表示的 BLOB
值中的 byte 数组
SQLException
- 如果访问 BLOB
值时发生错误或者 pos 小于 1
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法getBytes(long, int)
int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException
byte
数组写入此 Blob
对象表示的 BLOB
值中,并返回写入的字节数。写入操作从 BLOB
值中的位置 pos
处开始;写入给定 byte 数组中的 len
个字节。该 byte 数组将从位置 pos
开始重写 Blob
对象中的现有字节。如果在写 byte 数组时到达 Blob
值的末尾,则将增加 Blob
值的长度,以容纳额外的字节。
注:如果为 pos
指定的值大于 BLOB
值的长度+1,则行为是不确定的。一些 JDBC 驱动程序可能抛出 SQLException
,而另一些驱动程序可能支持此操作。
pos
- BLOB
对象开始进行写入操作的位置;第一个位置是 1bytes
- 要写入此 BLOB
对象中的 byte 数组offset
- 数组 bytes
中的偏移量,从此处开始读取要设置的字节len
- 要从 byte 数组 bytes
中写入 BLOB
值的字节数
SQLException
- 如果访问 BLOB
值时发生错误或者 pos 小于 1
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法getBytes(long, int)
OutputStream setBinaryStream(long pos) throws SQLException
Blob
对象表示的 BLOB
值的流。该流从位置 pos
处开始。写入流中的字节将从位置 pos
开始重写 Blob
对象中的现有字节。如果在写入流时到达 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
对象表示的 BLOB
值,使其长度为 len
个字节。
注:如果为 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
的后续调用被视为无操作 (no-op)。
SQLException
- 如果在释放 Blob 的资源时发生错误
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法InputStream getBinaryStream(long pos, long length) throws SQLException
Blob
值的 InputStream
对象,该值从 pos 指定的字节开始,长度为 length 个字节。
pos
- 将获取的部分值第一个字节的偏移量。Blob
中的第一个字节在位置 1 处length
- 将获取的部分值的字节长度
Blob
值的 InputStream
。
SQLException
- 如果 pos 小于 1,或者 pos 大于 Blob
中的字节数,或者 pos + length 大于 Blob
中的字节数
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。