-
- All Known Subinterfaces:
-
NClob
- 所有已知实现类:
-
SerialClob
public interface Clob
用于SQLCLOB
类型的CLOB
“¢编程语言中的CLOB
。 SQLCLOB
是一种内置类型,它将字符大对象存储为数据库表的行中的列值。 默认情况下,驱动程序使用SQLlocator(CLOB)
实现Clob
对象,这意味着Clob
对象包含指向SQLCLOB
数据的逻辑指针,而不是数据本身。Clob
对象在创建它的事务期间有效。Clob
接口提供了获取SQLCLOB
(字符大对象)值的长度的方法,用于在客户端上实现CLOB
值,以及在CLOB
值内搜索子字符串或CLOB
对象。 方法在接口ResultSet
,CallableStatement
,并PreparedStatement
,如getClob
和setClob
允许编程人员访问SQLCLOB
值。 此外,此接口还具有更新CLOB
值的方法。如果JDBC驱动程序支持数据类型,则必须完全实现
Clob
接口上的所有方法。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
free()
此方法释放Clob
对象所拥有的资源。InputStream
getAsciiStream()
以ascii流的CLOB
检索此Clob
对象指定的CLOB
值。Reader
getCharacterStream()
将此Clob
对象指定的CLOB
值检索为java.io.Reader
对象(或作为字符流)。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)
检索指定的子字符串searchstr
出现在此Clob
对象表示的SQLCLOB
值中的字符位置。long
position(Clob searchstr, long start)
检索指定的Clob
对象searchstr
在此Clob
对象中出现的字符位置。OutputStream
setAsciiStream(long pos)
检索用于将Ascii字符写入此Clob
对象表示的CLOB
值的流,从位置pos
开始。Writer
setCharacterStream(long pos)
检索用于将Unicode字符流写入此Clob
对象所代表的CLOB
值的流,位于位置pos
。int
setString(long pos, String str)
将给定的JavaString
写入此Clob
对象在位置pos
处指定的CLOB
值。int
setString(long pos, String str, int offset, int len)
将len
字符str
(从字符offset
开始)写入此Clob
表示的CLOB
值。void
truncate(long len)
截断此Clob
指定的CLOB
值,其长度为len
字符。
-
-
-
方法详细信息
-
length
long length() throws SQLException
检索此Clob
对象指定的CLOB
值中的字符数。- 结果
- 字符长度为
CLOB
- 异常
-
SQLException
- 如果访问CLOB
值的长度时CLOB
-
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
getSubString
String getSubString(long pos, int length) throws SQLException
检索此Clob
对象指定的CLOB
值中指定子字符串的副本。 子字符串从位置pos
开始,最多length
个连续字符。- 参数
-
pos
- 要提取的子字符串的第一个字符。 第一个角色位于第1位。 -
length
- 要复制的连续字符数; length的值必须为0或更大 - 结果
- a
String
,它是此Clob
对象指定的CLOB
值中的指定子字符串 - 异常
-
SQLException
- 如果访问CLOB
值时出错; 如果pos小于1或长度小于0 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
getCharacterStream
Reader getCharacterStream() throws SQLException
将此Clob
对象指定的CLOB
值检索为java.io.Reader
对象(或作为字符流)。- 结果
- 包含
CLOB
数据的java.io.Reader
对象 - 异常
-
SQLException
- 如果访问CLOB
值时出错 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
- 另请参见:
-
setCharacterStream(long)
-
getAsciiStream
InputStream getAsciiStream() throws SQLException
以ascii流的CLOB
检索此Clob
对象指定的CLOB
值。- 结果
- 包含
CLOB
数据的java.io.InputStream
对象 - 异常
-
SQLException
- 如果访问CLOB
值时出错 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
- 另请参见:
-
setAsciiStream(long)
-
position
long position(String searchstr, long start) throws SQLException
检索指定的子字符串searchstr
出现在此Clob
对象表示的SQLCLOB
值中的字符位置。 搜索从位置start
开始。- 参数
-
searchstr
- 要搜索的子字符串 -
start
- 开始搜索的位置; 第一个位置是1 - 结果
- 子串出现的位置,如果不存在则为-1; 第一个位置是1
- 异常
-
SQLException
- 如果访问CLOB
值时出错或者pos小于1 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.2
-
position
long position(Clob searchstr, long start) throws SQLException
检索指定的Clob
对象searchstr
在此Clob
对象中出现的字符位置。 搜索从位置start
开始。- 参数
-
searchstr
- 要搜索的Clob
对象 -
start
- 开始搜索的位置; 第一个位置是1 - 结果
-
Clob
对象出现的位置,如果不存在,则为-1; 第一个位置是1 - 异常
-
SQLException
- 如果访问CLOB
值时出错或者start小于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
值。 字符串将覆盖在现有的字符Clob
在位置对象起始pos
。 如果年底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
开始。 写入流的字符将覆盖从位置pos
开始的Clob
对象中的现有字符。 如果的端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
以外的方法的尝试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 + length大于Clob
的字符数 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
-