public interface Clob
CLOB
类型。
SQL CLOB
是一种内置类型,它将字符大对象作为列值存储在数据库表的一行中。
默认情况下的驱动程序实现Clob
使用SQL对象locator(CLOB)
,这意味着一个Clob
对象包含的逻辑指针,指向SQL CLOB
数据而非数据本身。
Clob
对象在其创建的事务的持续时间内有效。
Clob
接口提供了获取SQL CLOB
(字符大对象)值的长度的方法,用于在客户端上实现CLOB
值,并在CLOB
值中搜索子串或CLOB
对象。 方法在接口ResultSet
, CallableStatement
和PreparedStatement
,如getClob
和setClob
允许编程人员访问SQL CLOB
值。 此外,该界面还具有更新CLOB
值的方法。
所有的方法Clob
接口必须如果JDBC驱动程序支持的数据类型得到充分执行。
Modifier and Type | Method and Description |
---|---|
void |
free()
该方法可以释放
Clob 对象并释放资源所拥有的资源。
|
InputStream |
getAsciiStream()
将此
Clob 对象指定的
CLOB 值作为ascii流
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 值中的
CLOB 数。
|
long |
position(Clob searchstr, long start)
在检索该指定的字符位置
Clob 对象
searchstr 出现在此
Clob 对象。
|
long |
position(String searchstr, long start)
检索由此
Clob 对象表示的SQL
CLOB 中指定的子字符串
searchstr 出现的字符位置。
|
OutputStream |
setAsciiStream(long pos)
检索用于将Ascii字符写入到
Clob 对象表示的
CLOB 值的流,从位置
pos 开始。
|
Writer |
setCharacterStream(long pos)
检索用于将Unicode字符流写入此
Clob 对象表示的
CLOB 值的流,位置
pos 。
|
int |
setString(long pos, String str)
将给定的Java
String 写入该
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 字符的值。
|
long length() throws SQLException
Clob
对象指定的
CLOB
值中的
CLOB
数。
CLOB
的字符
SQLException
- 如果访问长度为
CLOB
值存在错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
String getSubString(long pos, int length) throws SQLException
Clob
对象指定的CLOB
值中检索指定子字符串的副本。
子串起始于pos
,最多可length
length个字符。
pos
- 要提取的子字符串的第一个字符。
第一个字符在位置1。
length
- 要复制的连续字符数;
长度的值必须为0或更大
String
是指定的Clob对象中指定的
CLOB
值中的子
Clob
SQLException
- 如果存在访问CLOB
值的错误;
如果pos小于1或长度小于0
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
Reader getCharacterStream() throws SQLException
Clob
对象指定的
CLOB
值作为
java.io.Reader
对象(或作为字符流)检索。
java.io.Reader
CLOB
数据的
java.io.Reader
对象
SQLException
- 访问
CLOB
值是否有错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
setCharacterStream(long)
InputStream getAsciiStream() throws SQLException
Clob
对象指定的
CLOB
值作为ascii流
Clob
。
java.io.InputStream
CLOB
数据的
java.io.InputStream
对象
SQLException
- 访问
CLOB
值时是否存在错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
setAsciiStream(long)
long position(String searchstr, long start) throws SQLException
Clob
对象表示的SQL CLOB
中指定的子字符串searchstr
出现的字符位置。
搜索从位置start
开始。
searchstr
- 要搜索的子字符串
start
- 开始搜索的位置;
第一名是1
SQLException
- 如果存在访问
CLOB
值或pos小于1的错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
long position(Clob searchstr, long start) throws SQLException
Clob
对象searchstr
出现在该Clob
对象中的字符位置。
搜索从位置start
开始。
searchstr
- 要搜索的
Clob
对象
start
- 开始搜索的位置;
第一名是1
Clob
对象出现的位置或-1(如果不存在);
第一名是1
SQLException
- 如果存在访问
CLOB
值的错误或者如果启动小于1
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
int setString(long pos, String str) throws SQLException
String
至CLOB
值,这Clob
对象表示在该位置pos
。
字符串将覆盖从Clob
开始的Clob
对象中的现有pos
。
如果在写入给定的字符串时达到Clob
值的结尾,那么Clob
值将被增加以容纳额外的字符。
注意:如果为pos
指定的值大于CLOB
值的长度+ 1,则行为是未定义的。 某些JDBC驱动程序可能会抛出一个SQLException
,而其他驱动程序可能会支持此操作。
pos
- 开始写入这个Clob
对象所代表的CLOB
值的位置;
第一名是1
str
-字符串写入到
CLOB
值,这
Clob
名候
SQLException
- 如果存在访问
CLOB
值或pos小于1的错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
int setString(long pos, String str, int offset, int len) throws SQLException
len
的字符str
,起始于字符offset
到CLOB
值,这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驱动程序不支持此方法
OutputStream setAsciiStream(long pos) throws SQLException
Clob
对象表示的CLOB
值的流,从位置pos
开始。
写入流的字符将覆盖从Clob
开始的Clob
对象中的现有pos
。
如果的端Clob
而写入字符到流达到的值,则长度Clob
值将增加以容纳额外的字符。
注意:如果为pos
指定的值大于CLOB
值的长度+ 1,那么行为是未定义的。 一些JDBC驱动程序可能会抛出一个SQLException
,而其他驱动程序可能会支持此操作。
pos
- 开始写入这个CLOB
对象的位置;
第一名是1
SQLException
- 如果存在访问
CLOB
值或pos小于1的错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
getAsciiStream()
Writer setCharacterStream(long pos) throws SQLException
Clob
对象表示的CLOB
值的流,位置pos
。
写入流的字符将覆盖从Clob
开始的Clob
对象中的现有pos
。
如果的端Clob
而写入字符到流达到的值,则长度Clob
值将增加以容纳额外的字符。
注意:如果为pos
指定的值大于CLOB
值的长度+ 1,那么行为是未定义的。 一些JDBC驱动程序可能会抛出一个SQLException
,而其他驱动程序可能会支持此操作。
pos
- 开始写入CLOB
值的位置;
第一名是1
SQLException
- 如果存在访问
CLOB
值的错误或者pos小于1
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
getCharacterStream()
void truncate(long len) throws SQLException
CLOB
值,这Clob
指定为具有的长度len
字符。
注意:如果为pos
指定的值大于CLOB
值的长度+ 1,那么行为是未定义的。 某些JDBC驱动程序可能会抛出SQLException
,而其他驱动程序可能会支持此操作。
len
- 要
CLOB
值的长度(以字符为单位)
SQLException
- 如果存在错误访问
CLOB
值或如果len小于0
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
void free() throws SQLException
Clob
对象并释放资源所拥有的资源。
调用free
方法后,该对象无效。
在free
之后,任何尝试调用free
以外的方法将导致抛出SQLException
。 如果free
被多次调用,在后续调用free
被视为无操作。
SQLException
- 如果发生错误发布Clob的资源
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
Reader getCharacterStream(long pos, long length) throws SQLException
Clob
值的
Reader
对象,以pos指定的字符开头,长度为长度字符。
pos
- 要检索的部分值的第一个字符的偏移量。
Clob中的第一个字符在位置1。
length
- 要检索的部分值的字符长度。
Reader
可以读取部分
Clob
值。
SQLException
- 如果pos小于1,或者如果pos大于Clob中的
Clob
数,或者如果pos +长度大于Clob中的
Clob
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法