- 所有已知的子接口:
-
NClob
- 所有已知的实现类:
-
SerialClob
public interface Clob
Java编程语言中对SQL
CLOB 类型的映射。SQL CLOB 是一个内置类型,将大字符对象作为数据库表中行的列值存储。默认情况下,驱动程序使用SQL locator(CLOB) 实现一个 Clob 对象,这意味着 Clob 对象包含对SQL CLOB 数据的逻辑指针,而不是数据本身。 Clob 对象在创建它的事务期间是有效的。
Clob 接口提供了获取SQL CLOB(大字符对象)值长度的方法,将 CLOB 值在客户端上实例化的方法,以及在 CLOB 值中搜索子字符串或 CLOB 对象的方法。接口中的方法,如 ResultSet、CallableStatement 和 PreparedStatement 中的 getClob 和 setClob 允许程序员访问SQL CLOB 值。此外,该接口还具有用于更新 CLOB 值的方法。
如果JDBC驱动程序支持该数据类型,则 Clob 接口上的所有方法必须完全实现。
- 自版本:
- 1.2
-
Method Summary
Modifier and TypeMethodDescriptionvoidfree()该方法释放Clob对象持有的资源。检索由此Clob对象指定的CLOB值作为ASCII流。检索由此Clob对象指定的CLOB值作为java.io.Reader对象(或作为字符流)。getCharacterStream(long pos, long length) 返回一个包含部分Clob值的Reader对象,从指定的字符位置pos开始,长度为 length 个字符。getSubString(long pos, int length) 检索由此Clob对象指定的CLOB值中指定子字符串的副本。longlength()检索由此Clob对象指定的CLOB值中的字符数。long检索由此Clob对象表示的SQLCLOB值中指定子字符串searchstr出现的字符位置。long检索由此Clob对象中指定的Clob对象searchstr出现的字符位置。setAsciiStream(long pos) 检索一个流,用于将Ascii字符写入此Clob对象表示的CLOB值,从位置pos开始。setCharacterStream(long pos) 检索一个流,用于将Unicode字符流写入此Clob对象表示的CLOB值,从位置pos开始。int将给定的JavaString写入此Clob对象指定的CLOB值,从位置pos开始。int将str中从字符offset开始的len个字符写入此Clob表示的CLOB值。voidtruncate(long len) 将此Clob指定的CLOB值截断为长度为len个字符。
-
Method Details
-
length
检索由此Clob对象指定的CLOB值中的字符数。- 返回:
-
字符数中的
CLOB长度 - 抛出:
-
SQLException- 如果访问CLOB值的长度时出现错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
getSubString
检索由此Clob对象指定的CLOB值中指定子字符串的副本。子字符串从位置pos开始,最多具有length个连续字符。- 参数:
-
pos- 要提取的子字符串的第一个字符。第一个字符位于位置 1。 -
length- 要复制的连续字符数;length 的值必须为 0 或更大 - 返回:
-
由此
Clob对象指定的CLOB值中指定子字符串的String - 抛出:
-
SQLException- 如果访问CLOB值时出现错误;如果 pos 小于 1 或 length 小于 0 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
getCharacterStream
检索由此Clob对象指定的CLOB值作为java.io.Reader对象(或作为字符流)。- 返回:
-
包含
CLOB数据的java.io.Reader对象 - 抛出:
-
SQLException- 如果访问CLOB值时出现错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
- 参见:
-
getAsciiStream
检索由此Clob对象指定的CLOB值作为ASCII流。- 返回:
-
包含
CLOB数据的java.io.InputStream对象 - 抛出:
-
SQLException- 如果访问CLOB值时出现错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
- 参见:
-
position
检索由此Clob对象表示的SQLCLOB值中指定子字符串searchstr出现的字符位置。搜索从位置start开始。- 参数:
-
searchstr- 要搜索的子字符串 -
start- 开始搜索的位置;第一个位置为 1 - 返回:
- 子字符串出现的位置,如果不存在则为 -1;第一个位置为 1
- 抛出:
-
SQLException- 如果访问CLOB值或 pos 小于 1 时出现错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
position
检索由此Clob对象表示的CLOB值中指定的Clob对象searchstr出现的字符位置。搜索从位置start开始。- 参数:
-
searchstr- 要搜索的Clob对象 -
start- 开始搜索的位置;第一个位置为 1 - 返回:
-
Clob对象出现的位置,如果不存在则为 -1;第一个位置为 1 - 抛出:
-
SQLException- 如果访问CLOB值或 start 小于 1 时出现错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
setString
将给定的JavaString写入此Clob对象指定的CLOB值,从位置pos开始。字符串将覆盖从位置pos开始的Clob对象中的现有字符。如果在写入给定字符串时达到Clob值的末尾,则Clob值的长度将增加以容纳额外字符。注意: 如果为
pos指定的值大于CLOB值的长度+1,则行为是未定义的。某些JDBC驱动程序可能会抛出SQLException,而其他驱动程序可能支持此操作。- 参数:
-
pos- 要开始写入此Clob对象表示的CLOB值的位置;第一个位置为 1。 -
str- 要写入此Clob指定的CLOB值的字符串 - 返回:
- 写入的字符数
- 抛出:
-
SQLException- 如果访问CLOB值时出现错误或 pos 小于 1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
-
setString
Writeslencharacters ofstr, starting at characteroffset, to theCLOBvalue that thisClobrepresents. The string will overwrite the existing characters in theClobobject starting at the positionpos. If the end of theClobvalue is reached while writing the given string, then the length of theClobvalue will be increased to accommodate the extra characters.注意: 如果为
pos指定的值大于CLOB值的长度+1,则行为是未定义的。一些JDBC驱动程序可能会抛出SQLException,而其他驱动程序可能支持此操作。- 参数:
-
pos- 开始写入此CLOB对象的位置;第一个位置为1 -
str- 要写入此Clob对象表示的CLOB值的字符串 -
offset- 开始读取要写入的字符的str的偏移量 -
len- 要写入的字符数 - 返回:
- 写入的字符数
- 抛出:
-
SQLException- 如果访问CLOB值时出现错误,或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
-
setAsciiStream
检索一个流,用于向此Clob对象表示的CLOB值写入Ascii字符,从位置pos开始。写入流的字符将覆盖Clob对象中从位置pos开始的现有字符。如果在向流写入字符时到达Clob值的末尾,则Clob值的长度将增加以容纳额外的字符。注意: 如果为
pos指定的值大于CLOB值的长度+1,则行为是未定义的。一些JDBC驱动程序可能会抛出SQLException,而其他驱动程序可能支持此操作。- 参数:
-
pos- 开始向此CLOB对象写入的位置;第一个位置为1 - 返回:
- 可写入ASCII编码字符的流
- 抛出:
-
SQLException- 如果访问CLOB值时出现错误,或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
- 另请参阅:
-
setCharacterStream
检索一个流,用于向此Clob对象表示的CLOB值写入Unicode字符流,从位置pos开始。写入流的字符将覆盖Clob对象中从位置pos开始的现有字符。如果在向流写入字符时到达Clob值的末尾,则Clob值的长度将增加以容纳额外的字符。注意: 如果为
pos指定的值大于CLOB值的长度+1,则行为是未定义的。一些JDBC驱动程序可能会抛出SQLException,而其他驱动程序可能支持此操作。- 参数:
-
pos- 开始向CLOB值写入的位置;第一个位置为1 - 返回:
- 可写入Unicode编码字符的流
- 抛出:
-
SQLException- 如果访问CLOB值时出现错误,或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
- 另请参阅:
-
truncate
将此Clob指定的CLOB值截断为len个字符的长度。注意: 如果为
pos指定的值大于CLOB值的长度+1,则行为是未定义的。一些JDBC驱动程序可能会抛出SQLException,而其他驱动程序可能支持此操作。- 参数:
-
len- 应将CLOB值截断为的字符长度 - 抛出:
-
SQLException- 如果访问CLOB值时出现错误,或者len小于0 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
-
free
此方法释放Clob对象持有的资源。一旦调用free方法,对象就无效了。调用
free后,任何尝试调用free以外的方法都将导致抛出SQLException。如果多次调用free,则后续调用free将被视为无操作。- 抛出:
-
SQLException- 如果释放Clob的资源时发生错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
getCharacterStream
返回一个Reader对象,其中包含从指定为pos的字符开始的部分Clob值,长度为length个字符。- 参数:
-
pos- 要检索的部分值的第一个字符的偏移量。Clob中的第一个字符位于位置1。 -
length- 要检索的部分值的字符长度。 - 返回:
-
通过该
Reader可以读取部分Clob值。 - 抛出:
-
SQLException- 如果pos小于1;或者如果pos大于Clob中的字符数;或者如果pos + length大于Clob中的字符数 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-