- 所有已知的子接口:
NClob
- 所有已知的实现类:
SerialClob
public interface Clob
SQL
CLOB 类型在Java 编程语言中的映射。 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
-
方法总结
修饰符和类型方法描述voidfree()此方法释放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检索指定子字符串searchstr出现在此Clob对象表示的 SQLCLOB值中的字符位置。long检索指定的Clob对象searchstr在此Clob对象中出现的字符位置。setAsciiStream(long pos) 检索用于将 Ascii 字符写入此Clob对象表示的CLOB值的流,从位置pos开始。setCharacterStream(long pos) 检索要用于将 Unicode 字符流写入此Clob对象表示的CLOB值的流,位于pos位置。int将给定的 JavaString写入此Clob对象在位置pos指定的CLOB值。int从字符offset开始,将str的len个字符写入此Clob表示的CLOB值。voidtruncate(long len) 截断此Clob指定的CLOB值,使其长度为len个字符。
-
方法详情
-
length
检索此Clob对象指定的CLOB值中的字符数。- 返回:
CLOB的字符长度- 抛出:
SQLException- 如果访问CLOB值的长度时出错SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.2
-
getSubString
检索此Clob对象指定的CLOB值中指定子字符串的副本。子字符串从位置pos开始,最多有length个连续字符。- 参数:
pos- 要提取的子字符串的第一个字符。第一个字符在位置 1。length- 要复制的连续字符数;长度值必须为 0 或更大- 返回:
String是此Clob对象指定的CLOB值中的指定子字符串- 抛出:
SQLException- 如果访问CLOB值时出错;如果 pos 小于 1 或 length 小于 0SQLFeatureNotSupportedException- 如果 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
检索指定子字符串searchstr出现在此Clob对象表示的 SQLCLOB值中的字符位置。搜索从位置start开始。- 参数:
searchstr- 要搜索的子字符串start- 开始搜索的位置;第一个位置是 1- 返回:
- 子字符串出现的位置,如果不存在则为 -1;第一个位置是 1
- 抛出:
SQLException- 如果访问CLOB值时出错或者 pos 小于 1SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.2
-
position
检索指定的Clob对象searchstr在此Clob对象中出现的字符位置。搜索从位置start开始。- 参数:
searchstr- 要搜索的Clob对象start- 开始搜索的位置;第一个位置是 1- 返回:
Clob对象出现的位置,如果不存在则为 -1;第一个位置是 1- 抛出:
SQLException- 如果访问CLOB值时出错或者如果 start 小于 1SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.2
-
setString
将给定的 JavaString写入此Clob对象在位置pos指定的CLOB值。该字符串将覆盖Clob对象中从位置pos开始的现有字符。如果在写入给定字符串时到达Clob值的末尾,则将增加Clob值的长度以容纳额外的字符。笔记:如果为
pos指定的值大于CLOB值的长度+1,则行为未定义。一些 JDBC 驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数:
pos- 开始写入此Clob对象代表的CLOB值的位置;第一个位置是 1。str- 要写入此Clob指定的CLOB值的字符串- 返回:
- 写入的字符数
- 抛出:
SQLException- 如果访问CLOB值时出错或者 pos 小于 1SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.4
-
setString
从字符offset开始,将str的len个字符写入此Clob表示的CLOB值。该字符串将覆盖Clob对象中从位置pos开始的现有字符。如果在写入给定字符串时到达Clob值的末尾,则将增加Clob值的长度以容纳额外的字符。笔记:如果为
pos指定的值大于CLOB值的长度+1,则行为未定义。一些 JDBC 驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数:
pos- 开始写入此CLOB对象的位置;第一个位置是 1str- 要写入此Clob对象表示的CLOB值的字符串offset-str的偏移量以开始读取要写入的字符len- 要写入的字符数- 返回:
- 写入的字符数
- 抛出:
SQLException- 如果访问CLOB值时出错或者 pos 小于 1SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.4
-
setAsciiStream
检索用于将 Ascii 字符写入此Clob对象表示的CLOB值的流,从位置pos开始。写入流的字符将覆盖Clob对象中从位置pos开始的现有字符。如果在向流中写入字符时达到了Clob值的末尾,则将增加Clob值的长度以容纳额外的字符。笔记:如果为
pos指定的值大于CLOB值的长度+1,则行为未定义。一些 JDBC 驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数:
pos- 开始写入此CLOB对象的位置;第一个位置是 1- 返回:
- 可以写入 ASCII 编码字符的流
- 抛出:
SQLException- 如果访问CLOB值时出错或者 pos 小于 1SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.4
- 参见:
-
setCharacterStream
检索要用于将 Unicode 字符流写入此Clob对象表示的CLOB值的流,位于pos位置。写入流的字符将覆盖Clob对象中从位置pos开始的现有字符。如果在向流中写入字符时达到了Clob值的末尾,则将增加Clob值的长度以容纳额外的字符。笔记:如果为
pos指定的值大于CLOB值的长度+1,则行为未定义。一些 JDBC 驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数:
pos- 开始写入CLOB值的位置;第一个位置是 1- 返回:
- 可以写入 Unicode 编码字符的流
- 抛出:
SQLException- 如果访问CLOB值时出错或者 pos 小于 1SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.4
- 参见:
-
truncate
截断此Clob指定的CLOB值,使其长度为len个字符。笔记:如果为
pos指定的值大于CLOB值的长度+1,则行为未定义。一些 JDBC 驱动程序可能会抛出SQLException而其他驱动程序可能支持此操作。- 参数:
len- 应截断CLOB值的长度(以字符为单位)- 抛出:
SQLException- 如果访问CLOB值时出错或者 len 小于 0SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.4
-
free
此方法释放Clob对象持有的资源。一旦调用了free方法,该对象就失效了。在调用
free之后,任何调用free以外的方法的尝试都将导致抛出SQLException。如果多次调用free,则对free的后续调用将被视为空操作。- 抛出:
SQLException- 如果释放 Clob 的资源时发生错误SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.6
-
getCharacterStream
返回包含部分Clob值的Reader对象,以 pos 指定的字符开头,长度为 length 个字符。- 参数:
pos- 要检索的部分值的第一个字符的偏移量。 Clob 中的第一个字符位于位置 1。length- 要检索的部分值的字符长度。- 返回:
Reader通过它可以读取部分Clob值。- 抛出:
SQLException- 如果 pos 小于 1;或者如果 pos 大于Clob中的字符数;或者如果 pos + length 大于Clob中的字符数SQLFeatureNotSupportedException- 如果 JDBC 驱动程序不支持此方法- 自从:
- 1.6
-