- 所有已知的实现类:
-
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 TypeMethodDescriptionvoidwriteArray(Array x) 将SQLARRAY值写入流中。void将下一个属性作为ASCII字符流写入流中。void将下一个属性作为java.math.BigDecimal对象写入流中。void将下一个属性作为未解释字节流写入流中。void将SQLBLOB值写入流中。voidwriteBoolean(boolean x) 将下一个属性作为Java布尔值写入流中。voidwriteByte(byte x) 将下一个属性作为Java字节写入流中。voidwriteBytes(byte[] x) 将下一个属性作为字节数组写入流中。void将下一个属性作为Unicode字符流写入流中。void将SQLCLOB值写入流中。void将下一个属性作为java.sql.Date对象写入流中。voidwriteDouble(double x) 将下一个属性作为Java双精度浮点数写入流中。voidwriteFloat(float x) 将下一个属性作为Java浮点数写入流中。voidwriteInt(int x) 将下一个属性作为Java整数写入流中。voidwriteLong(long x) 将下一个属性作为Java长整型写入流中。voidwriteNClob(NClob x) 将SQLNCLOB值写入流中。void将下一个属性作为Java编程语言中的String写入流中。default voidwriteObject(Object x, SQLType targetSqlType) 将给定对象中包含的数据写入流中。void将给定的SQLData对象中包含的数据写入流中。void将SQLREF值写入流中。voidwriteRowId(RowId x) 将SQLROWID值写入流中。voidwriteShort(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
- 参见:
-