- 所有已知的子接口:
-
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 TypeMethodDescriptionvoid
free()
该方法释放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
值中指定子字符串的副本。long
length()
检索由此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
值。void
truncate
(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
Writeslen
characters ofstr
, starting at characteroffset
, to theCLOB
value that thisClob
represents. The string will overwrite the existing characters in theClob
object starting at the positionpos
. If the end of theClob
value is reached while writing the given string, then the length of theClob
value 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
-