模块 java.sql
 java.sql

接口 Clob

所有已知的子接口:
NClob
所有已知的实现类:
SerialClob

public interface Clob
SQL CLOB 类型在Java 编程语言中的映射。 SQL CLOB 是一种内置类型,它将字符大对象存储为数据库表行中的列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 Clob 对象包含指向 SQL CLOB 数据的逻辑指针,而不是数据本身。 Clob 对象在创建它的事务期间有效。

Clob 接口提供了获取 SQL CLOB(字符大对象)值的长度、在客户端上实现 CLOB 值以及在 CLOB 值中搜索子字符串或 CLOB 对象的方法。接口 ResultSet CallableStatement PreparedStatement 中的方法,例如 getClobsetClob 允许程序员访问 SQL CLOB 值。此外,此接口具有更新CLOB值的方法。

如果 JDBC 驱动程序支持该数据类型,则必须完全实现 Clob 接口上的所有方法。

自从:
1.2
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    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
    检索此 Clob 对象指定的 CLOB 值中的字符数。
    long
    position(String searchstr, long start)
    检索指定子字符串 searchstr 出现在此 Clob 对象表示的 SQL CLOB 值中的字符位置。
    long
    position(Clob searchstr, long start)
    检索指定的 Clob 对象 searchstr 在此 Clob 对象中出现的字符位置。
    setAsciiStream(long pos)
    检索用于将 Ascii 字符写入此 Clob 对象表示的 CLOB 值的流,从位置 pos 开始。
    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)
    从字符 offset 开始,将 strlen 个字符写入此 Clob 表示的 CLOB 值。
    void
    truncate(long len)
    截断此 Clob 指定的 CLOB 值,使其长度为 len 个字符。
  • 方法详情

    • length

      long length() throws SQL异常
      检索此 Clob 对象指定的 CLOB 值中的字符数。
      返回:
      CLOB 的字符长度
      抛出:
      SQLException - 如果访问 CLOB 值的长度时出错
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getSubString

      String  getSubString(long pos, int length) throws SQL异常
      检索此 Clob 对象指定的 CLOB 值中指定子字符串的副本。子字符串从位置 pos 开始,最多有 length 个连续字符。
      参数:
      pos - 要提取的子字符串的第一个字符。第一个字符在位置 1。
      length - 要复制的连续字符数;长度值必须为 0 或更大
      返回:
      String 是此 Clob 对象指定的 CLOB 值中的指定子字符串
      抛出:
      SQLException - 如果访问 CLOB 值时出错;如果 pos 小于 1 或 length 小于 0
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getCharacterStream

      Reader  getCharacterStream() throws SQL异常
      检索此 Clob 对象指定的 CLOB 值作为 java.io.Reader 对象(或作为字符流)。
      返回:
      包含 CLOB 数据的 java.io.Reader 对象
      抛出:
      SQLException - 如果访问 CLOB 值时出错
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
      参见:
    • getAsciiStream

      InputStream  getAsciiStream() throws SQL异常
      检索此 Clob 对象指定的 CLOB 值作为 ascii 流。
      返回:
      包含 CLOB 数据的 java.io.InputStream 对象
      抛出:
      SQLException - 如果访问 CLOB 值时出错
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
      参见:
    • position

      long position(String  searchstr, long start) throws SQL异常
      检索指定子字符串 searchstr 出现在此 Clob 对象表示的 SQL CLOB 值中的字符位置。搜索从位置 start 开始。
      参数:
      searchstr - 要搜索的子字符串
      start - 开始搜索的位置;第一个位置是 1
      返回:
      子字符串出现的位置,如果不存在则为 -1;第一个位置是 1
      抛出:
      SQLException - 如果访问 CLOB 值时出错或者 pos 小于 1
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • position

      long position(Clob  searchstr, long start) throws SQL异常
      检索指定的 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 SQL异常
      将给定的 Java String 写入此 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 驱动程序不支持此方法
      自从:
      1.4
    • setString

      int setString(long pos, String  str, int offset, int len) throws SQL异常
      从字符 offset 开始,将 strlen 个字符写入此 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 SQL异常
      检索用于将 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
      参见:
    • setCharacterStream

      Writer  setCharacterStream(long pos) throws SQL异常
      检索要用于将 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
      参见:
    • truncate

      void truncate(long len) throws SQL异常
      截断此 Clob 指定的 CLOB 值,使其长度为 len 个字符。

      笔记:如果为 pos 指定的值大于 CLOB 值的长度+1,则行为未定义。一些 JDBC 驱动程序可能会抛出 SQLException 而其他驱动程序可能支持此操作。

      参数:
      len - 应截断 CLOB 值的长度(以字符为单位)
      抛出:
      SQLException - 如果访问 CLOB 值时出错或者 len 小于 0
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • free

      void free() throws SQL异常
      此方法释放 Clob 对象持有的资源。一旦调用了free方法,该对象就失效了。

      在调用 free 之后,任何调用 free 以外的方法的尝试都将导致抛出 SQLException。如果多次调用 free,则对 free 的后续调用将被视为空操作。

      抛出:
      SQLException - 如果释放 Clob 的资源时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • getCharacterStream

      Reader  getCharacterStream(long pos, long length) throws SQL异常
      返回包含部分 Clob 值的 Reader 对象,以 pos 指定的字符开头,长度为 length 个字符。
      参数:
      pos - 要检索的部分值的第一个字符的偏移量。 Clob 中的第一个字符位于位置 1。
      length - 要检索的部分值的字符长度。
      返回:
      Reader 通过它可以读取部分 Clob 值。
      抛出:
      SQLException - 如果 pos 小于 1;或者如果 pos 大于 Clob 中的字符数;或者如果 pos + length 大于 Clob 中的字符数
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6