SQL BLOB 值在 Java 编程语言中的序列化映射关系。

SerialBlob 类提供一个根据 Blob 对象创建实例的构造方法。注意,在根据 Blob 对象构造 SerialBlob 对象之前, Blob 对象应该已经将 SQL Blob 值的数据置于客户端上。SQL Blob 值的数据可以在客户端上以字节数组(使用 Blob.getBytes 方法)或未解释字节流的形式(使用 Blob.getBinaryStream 方法)实现。

SerialBlob 方法能够以字节数组或流的形式复制 SerialBlob 对象。这些方法还可以在 SerialBlob 对象中查找给定模式的字节或 Blob 对象,并可以更新或截断 Blob 对象。

构造方法摘要 SerialBlob ( Blob blob)
根据给定 Blob 对象的序列化形式构造一个 SerialBlob 对象。 SQLException
按照给定 byte 数组的序列化形式构造一个 SerialBlob 对象。

新的 SerialBlob 对象使用 byte 数组中的数据进行初始化,因此允许未连接 RowSet 对象无需接触数据源即可建立序列化的 Blob 对象。

参数:
b - 一个 byte 数组,包含要序列化的 Blob 对象的数据
抛出:
SerialException - 如果在序列化期间发生错误
SQLException - 如果发生 SQL 错误

SerialBlob

public SerialBlob(Blob blob)
           throws SerialException,
                  SQLException
根据给定 Blob 对象的序列化形式构造一个 SerialBlob 对象。

新的 SerialBlob 对象使用 Blob 对象中的数据进行初始化;因此, Blob 对象应该预先从数据库将 SQL BLOB 值的数据置于客户端上。否则,新 SerialBlob 对象将不包含任何数据。

参数:
blob - 一个 Blob 对象,根据该对象构造此 SerialBlob 对象 ;此值不能为 null。
抛出:
SerialException - 如果在序列化期间发生错误
SQLException - 如果传递给此构造方法的 Blob null
另请参见:
Blob

getBytes

public byte[] getBytes(long pos,
                       int length)
                throws SerialException
将指定的字节数(从给定位置开始)从此 SerialBlob 对象复制到另一个字节数组。

注意,如果要复制的给定字节数大于此 SerialBlob 对象的字节数组的长度,则将其缩短为该数组的长度。

指定者:
接口 Blob 中的 getBytes
参数:
pos - 此 SerialBlob 对象中要复制的第一个字节的顺序位置;编号从 1 开始;不得小于 1 并且必须小于或等于此 SerialBlob 对象的长度
length - 要复制的字节数
返回:
一个字节数组,它是此 SerialBlob 对象一个区域的副本,从给定位置开始并且包含给定的连续字节数
抛出:
SerialException - 如果给定开始位置超出限制
另请参见:
Blob.setBytes(long, byte[])

详细见:https://www.oschina.net/uploads/doc/javase-6-doc-api-zh_CN/javax/sql/rowset/serial/SerialBlob.html