-
- All Known Subinterfaces:
-
NClob
- 所有已知实现类:
-
SerialClob
public interface Clob在Java的编程语言中映射为SQLCLOB类型。 SQLCLOB是一种内置类型,将字符大对象作为列值存储在数据库表的行中。 默认情况下,驱动程序使用SQLlocator(CLOB)实现Clob对象,这意味着Clob对象包含指向SQLCLOB数据而不是数据本身的逻辑指针。Clob对象在其创建的事务的持续时间内有效。Clob接口提供了获取SQLCLOB(字符大对象)值的长度的方法,用于在客户端上实现CLOB值,以及在CLOB值内搜索子字符串或CLOB对象。 方法在接口ResultSet,CallableStatement,并PreparedStatement,如getClob和setClob允许编程人员访问SQLCLOB值。 此外,该界面还具有更新CLOB值的方法。如果JDBC驱动程序支持数据类型,则必须完全实现
Clob接口上的所有方法。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 voidfree()此方法释放Clob对象所持有的资源。InputStreamgetAsciiStream()检索由该Clob对象指定的CLOB值作为ascii流。ReadergetCharacterStream()检索Clob对象作为java.io.Reader对象(或作为字符流)指定的CLOB值。ReadergetCharacterStream(long pos, long length)返回一个包含部分Clob值的Reader对象,以pos指定的字符开头,长度字符为长度。StringgetSubString(long pos, int length)检索由该Clob对象指定的CLOB值中指定的子字符串的副本。longlength()检索由Clob对象指定的CLOB值中的字符数。longposition(String searchstr, long start)检索由Clob对象表示的SQLCLOB指定的子字符串searchstr出现的字符位置。longposition(Clob searchstr, long start)检索此Clob对象中指定的Clob对象searchstr的字符位置。OutputStreamsetAsciiStream(long pos)检索流用于写入ASCII字符的CLOB值,这Clob对象表示,起始于位置pos。WritersetCharacterStream(long pos)检索流用于写入的Unicode字符流的CLOB值,这Clob对象表示,在位置pos。intsetString(long pos, String str)写入给定的JavaString到CLOB值,这Clob对象表示在该位置pos。intsetString(long pos, String str, int offset, int len)写入len字符的str,从字符offset开始,以Clob表示的CLOB值。voidtruncate(long len)截断这个Clob指定的长度为len字符的CLOB值。
-
-
-
方法详细信息
-
length
long length() throws SQLException检索由Clob对象指定的CLOB值中的字符数。- 结果
-
长度为
CLOB的字符 - 异常
-
SQLException- 访问CLOB值的长度是否存在错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
getSubString
String getSubString(long pos, int length) throws SQLException
在Clob对象指定的CLOB值中检索指定子字符串的副本。 子pos始于位置pos,最多可连续length个字符。- 参数
-
pos- 要提取的子字符串的第一个字符。 第一个字符在位置1。 -
length- 要复制的连续字符数; 长度的值必须为0或更大 - 结果
-
一个
String是Clob对象中指定的CLOB值中指定的子字符串 - 异常
-
SQLException- 访问CLOB值是否有错误; 如果pos小于1或长度小于0 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
getCharacterStream
Reader getCharacterStream() throws SQLException
检索Clob对象作为java.io.Reader对象(或作为字符流)指定的CLOB值。- 结果
-
一个包含
CLOB数据的java.io.Reader对象 - 异常
-
SQLException- 访问CLOB值是否有错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
- 另请参见:
-
setCharacterStream(long)
-
getAsciiStream
InputStream getAsciiStream() throws SQLException
检索由该Clob对象指定的CLOB值作为ASCII码流。- 结果
-
一个
java.io.InputStream对象包含CLOB数据 - 异常
-
SQLException- 访问CLOB值是否有错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
- 另请参见:
-
setAsciiStream(long)
-
position
long position(String searchstr, long start) throws SQLException
检索由该Clob对象表示的SQLCLOB指定的子字符串searchstr出现的字符位置。 搜索从位置start开始。- 参数
-
searchstr- 要搜索的子字符串 -
start- 开始搜索的位置; 第一名是1 - 结果
- 子字符串出现的位置,如果不存在则为-1。 第一名是1
- 异常
-
SQLException- 如果存在访问CLOB值的错误或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
position
long position(Clob searchstr, long start) throws SQLException
检索此Clob对象中指定的Clob对象searchstr的字符位置。 搜索从位置start开始。- 参数
-
searchstr- 要搜索的Clob对象 -
start- 开始搜索的位置; 第一名是1 - 结果
-
Clob对象出现的位置,如果不存在则为-1。 第一名是1 - 异常
-
SQLException- 如果存在访问CLOB值的错误,或者如果启动小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
setString
int setString(long pos, String str) throws SQLException写入给定的JavaString到CLOB值,这Clob对象表示在该位置pos。 字符串将覆盖在现有的字符Clob在位置对象起始pos。 如果在写入给定的字符串时达到Clob值的结尾,那么Clob值将被增加以容纳额外的字符。注意:如果为
pos指定的值大于CLOB值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出一个SQLException而其他驱动程序可能会支持此操作。- 参数
-
pos- 开始写入Clob对象所代表的CLOB值的位置; 第一名是1。 -
str- 要写入Clob指定的CLOB值的字符串 - 结果
- 写入的字符数
- 异常
-
SQLException- 如果存在访问CLOB值的错误或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.4
-
setString
int setString(long pos, String str, int offset, int len) throws SQLException写入len字符的str,从字符offset开始,以Clob表示的CLOB值。 字符串将覆盖从位置pos开始的Clob对象中的现有字符。 如果在写入给定的字符串时达到了Clob值的结尾,那么Clob值将被增加以容纳额外的字符。注意:如果为
pos指定的值大于CLOB值的长度+ 1,那么行为是未定义的。 一些JDBC驱动程序可能会抛出一个SQLException而其他驱动程序可能会支持此操作。- 参数
-
pos- 开始写入这个CLOB对象的位置; 第一名是1 -
str- 要写入这个Clob对象的值的CLOB值的字符串 -
offset- 偏移到str开始读取要写入的字符 -
len- 要写入的字符数 - 结果
- 写入的字符数
- 异常
-
SQLException- 如果存在访问CLOB值的错误或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.4
-
setAsciiStream
OutputStream setAsciiStream(long pos) throws SQLException
检索流用于写入ASCII字符的CLOB值,这Clob对象表示,起始于位置pos。 写入流的字符将覆盖Clob对象中从位置pos开始的现有字符。 如果的端Clob而写入字符到流达到的值,则长度Clob值将增加以容纳额外的字符。注意:如果为
pos指定的值大于CLOB值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出一个SQLException而其他驱动程序可能会支持此操作。- 参数
-
pos- 开始写入这个CLOB对象的位置 第一名是1 - 结果
- 可以写入ASCII编码字符的流
- 异常
-
SQLException- 如果存在访问CLOB值的错误或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.4
- 另请参见:
-
getAsciiStream()
-
setCharacterStream
Writer setCharacterStream(long pos) throws SQLException
检索流用于写入的Unicode字符流的CLOB值,这Clob对象表示,在位置pos。 写入流的字符将覆盖Clob对象中从位置pos开始的现有字符。 如果在将字符写入流时达到了Clob值,那么Clob值将被增加以容纳额外的字符。注意:如果为
pos指定的值大于CLOB值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出一个SQLException而其他驱动程序可能会支持此操作。- 参数
-
pos- 开始写入CLOB值的位置; 第一名是1 - 结果
- 可编写Unicode编码字符的流
- 异常
-
SQLException- 如果访问CLOB值出现错误或者pos小于1 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.4
- 另请参见:
-
getCharacterStream()
-
truncate
void truncate(long len) throws SQLException截断Clob指定的长度为len字符的CLOB值。注意:如果为
pos指定的值大于CLOB值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出一个SQLException而其他驱动程序可能会支持此操作。- 参数
-
len- 要截断CLOB值的长度(以字符为CLOB - 异常
-
SQLException- 如果存在访问CLOB值的错误或者如果len小于0 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.4
-
free
void free() throws SQLException
此方法释放Clob对象所占据的资源。 调用free方法后,该对象无效。在
free之后,任何调用free以外的方法的尝试将导致抛出SQLException。 如果free被多次调用,在后续调用free被视为无操作。- 异常
-
SQLException- 如果发生错误,释放Clob的资源 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
getCharacterStream
Reader getCharacterStream(long pos, long length) throws SQLException
返回一个包含部分Clob值的Reader对象,以pos指定的字符开头,长度为长度字符。- 参数
-
pos- 要检索的部分值的第一个字符的偏移量。 Clob中的第一个字符在位置1。 -
length- 要检索的部分值的字符长度。 - 结果
-
Reader通过其可以读取部分Clob值。 - 异常
-
SQLException- 如果pos小于1; 或者如果pos大于Clob的字符数; 或者如果pos +长度大于Clob的字符数 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
-