- 所有已知的实现类:
-
SQLOutputImpl
public interface SQLOutput
用于将用户定义类型的属性写回数据库的输出流。此接口仅用于自定义映射,由驱动程序使用,其方法永远不会被程序员直接调用。
当实现接口SQLData
的类的对象作为参数传递给SQL语句时,JDBC驱动程序调用方法SQLData.getSQLType
来确定要传递到数据库的SQL数据的类型。然后驱动程序创建SQLOutput
的实例并将其传递给方法SQLData.writeSQL
。方法writeSQL
反过来调用适当的SQLOutput
writer方法writeBoolean
,writeCharacterStream
等)将SQLData
对象中的数据写入SQLOutput
输出流,作为SQL用户定义类型的表示。
- 自版本:
- 1.2
-
Method Summary
Modifier and TypeMethodDescriptionvoid
writeArray
(Array x) 将SQLARRAY
值写入流中。void
将下一个属性作为ASCII字符流写入流中。void
将下一个属性作为java.math.BigDecimal对象写入流中。void
将下一个属性作为未解释字节流写入流中。void
将SQLBLOB
值写入流中。void
writeBoolean
(boolean x) 将下一个属性作为Java布尔值写入流中。void
writeByte
(byte x) 将下一个属性作为Java字节写入流中。void
writeBytes
(byte[] x) 将下一个属性作为字节数组写入流中。void
将下一个属性作为Unicode字符流写入流中。void
将SQLCLOB
值写入流中。void
将下一个属性作为java.sql.Date对象写入流中。void
writeDouble
(double x) 将下一个属性作为Java双精度浮点数写入流中。void
writeFloat
(float x) 将下一个属性作为Java浮点数写入流中。void
writeInt
(int x) 将下一个属性作为Java整数写入流中。void
writeLong
(long x) 将下一个属性作为Java长整型写入流中。void
writeNClob
(NClob x) 将SQLNCLOB
值写入流中。void
将下一个属性作为Java编程语言中的String
写入流中。default void
writeObject
(Object x, SQLType targetSqlType) 将给定对象中包含的数据写入流中。void
将给定的SQLData
对象中包含的数据写入流中。void
将SQLREF
值写入流中。void
writeRowId
(RowId x) 将SQLROWID
值写入流中。void
writeShort
(short x) 将下一个属性作为Java短整型写入流中。void
将SQLXML
值写入流中。void
将下一个属性作为Java编程语言中的String
写入流中。void
将SQL结构化类型值写入流中。void
将下一个属性作为java.sql.Time对象写入流中。void
将下一个属性作为java.sql.Timestamp对象写入流中。void
将SQLDATALINK
值写入流中。
-
Method Details
-
writeString
将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeBoolean
将下一个属性作为Java布尔值写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeByte
将下一个属性作为Java字节写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeShort
将下一个属性作为Java短整型写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeInt
将下一个属性作为Java整数写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeLong
将下一个属性作为Java长整型写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeFloat
将下一个属性作为Java浮点数写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeDouble
将下一个属性作为Java双精度浮点数写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeBigDecimal
将下一个属性作为java.math.BigDecimal对象写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeBytes
将下一个属性作为字节数组写入流中。将下一个属性作为Java编程语言中的String
写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeDate
将下一个属性作为java.sql.Date对象写入流中。将下一个属性作为Java编程语言中的java.sql.Date
对象写入流中。- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeTime
将下一个属性作为java.sql.Time对象写入流中。将下一个属性作为java.sql.Date
对象写入流中。- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeTimestamp
将下一个属性作为java.sql.Timestamp对象写入流。将下一个属性作为Java编程语言中的java.sql.Date
对象写入流。- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeCharacterStream
将下一个属性作为Unicode字符流写入流。- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeAsciiStream
将下一个属性作为ASCII字符流写入流。- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeBinaryStream
将下一个属性作为未解释字节流写入流。- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeObject
将给定的SQLData
对象中包含的数据写入流。当SQLData
对象为null
时,此方法将在流中写入SQLNULL
。否则,它调用给定对象的SQLData.writeSQL
方法,该方法将对象的属性写入流。方法SQLData.writeSQL
的实现调用适当的SQLOutput
写入方法,以便按顺序写入对象的每个属性。必须按照用户定义类型的SQL定义中列出属性的顺序从SQLInput
输入流中读取属性,并按照相同顺序将其写入SQLOutput
输出流。- 参数:
-
x
- 表示SQL结构化或不同类型数据的对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeRef
将SQLREF
值写入流。- 参数:
-
x
- 表示SQLREF
值的Ref
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeBlob
将SQLBLOB
值写入流。- 参数:
-
x
- 表示SQLBLOB
值的Blob
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeClob
将SQLCLOB
值写入流。- 参数:
-
x
- 表示SQLCLOB
值的Clob
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeStruct
将SQL结构化类型值写入流。- 参数:
-
x
- 表示SQL结构化类型数据的Struct
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeArray
将SQLARRAY
值写入流。- 参数:
-
x
- 表示SQLARRAY
类型数据的Array
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
writeURL
将SQLDATALINK
值写入流。- 参数:
-
x
- 表示SQL DATALINK类型数据的java.net.URL
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
-
writeNString
将下一个属性作为Java编程语言中的String
写入流。当驱动程序将其发送到流时,将其转换为SQLNCHAR
或NVARCHAR
或LONGNVARCHAR
值(取决于参数相对于驱动程序对NVARCHAR
值的限制的大小)。- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
writeNClob
将SQLNCLOB
值写入流。- 参数:
-
x
- 表示SQLNCLOB
值的NClob
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
writeRowId
将SQLROWID
值写入流。- 参数:
-
x
- 表示SQLROWID
值的RowId
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
writeSQLXML
将SQLXML
值写入流。- 参数:
-
x
- 表示SQLXML
值的SQLXML
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误,java.xml.transform.Result
,Writer
或OutputStream
未关闭用于SQLXML
对象,或者处理XML值时出现错误。异常的getCause
方法可能提供更详细的异常,例如,如果流不包含有效的XML。 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
writeObject
写入流中包含的给定对象的数据。在将对象发送到流之前,将把对象转换为指定的targetSqlType。当
object
为null
时,此方法将在流中写入SQLNULL
。如果对象具有自定义映射(属于实现
SQLData
接口的类),JDBC驱动程序应调用SQLData.writeSQL
方法将其写入SQL数据流。另一方面,如果对象属于实现Ref
、Blob
、Clob
、NClob
、Struct
、java.net.URL
或Array
的类,则驱动程序应将其作为相应SQL类型的值传递给数据库。默认实现将抛出
SQLFeatureNotSupportedException
- 参数:
-
x
- 包含输入参数值的对象 -
targetSqlType
- 要发送到数据库的SQL类型。 - 抛出:
-
SQLException
- 如果发生数据库访问错误或者x指定的Java对象是InputStream或Reader对象且scale参数的值小于零 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此数据类型 - 自版本:
- 1.8
- 参见:
-