-
- 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 方法 描述 void
free()
此方法释放Clob
对象所持有的资源。InputStream
getAsciiStream()
检索由该Clob
对象指定的CLOB
值作为ascii流。Reader
getCharacterStream()
检索Clob
对象作为java.io.Reader
对象(或作为字符流)指定的CLOB
值。Reader
getCharacterStream(long pos, long length)
返回一个包含部分Clob
值的Reader
对象,以pos指定的字符开头,长度字符为长度。String
getSubString(long pos, int length)
检索由该Clob
对象指定的CLOB
值中指定的子字符串的副本。long
length()
检索由Clob
对象指定的CLOB
值中的字符数。long
position(String searchstr, long start)
检索由Clob
对象表示的SQLCLOB
指定的子字符串searchstr
出现的字符位置。long
position(Clob searchstr, long start)
检索此Clob
对象中指定的Clob
对象searchstr
的字符位置。OutputStream
setAsciiStream(long pos)
检索流用于写入ASCII字符的CLOB
值,这Clob
对象表示,起始于位置pos
。Writer
setCharacterStream(long pos)
检索流用于写入的Unicode字符流的CLOB
值,这Clob
对象表示,在位置pos
。int
setString(long pos, String str)
写入给定的JavaString
到CLOB
值,这Clob
对象表示在该位置pos
。int
setString(long pos, String str, int offset, int len)
写入len
字符的str
,从字符offset
开始,以Clob
表示的CLOB
值。void
truncate(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
-
-