- 所有已知的实现类:
-
SQLInputImpl
SQLInput
方法。读取器方法(readLong
、readBytes
等)为SQLData
接口的实现提供了一种读取SQLInput
对象中的值的方式。正如在SQLData
中描述的那样,必须按照它们对应的属性在类型的SQL定义中出现的顺序调用读取器方法。方法wasNull
用于确定上次读取的值是否为SQL NULL
。
当使用实现了SQLData
接口的类的对象调用方法getObject
时,JDBC驱动程序调用方法SQLData.getSQLType
来确定正在自定义映射的用户定义类型(UDT)的SQL类型。驱动程序创建一个SQLInput
实例,并用UDT的属性填充它。然后驱动程序将输入流传递给方法SQLData.readSQL
,后者在其实现中调用SQLInput
读取器方法以从输入流中读取属性。
- 自版本:
- 1.2
-
Method Summary
Modifier and TypeMethodDescription从流中读取一个SQLARRAY
值,并将其作为Java编程语言中的Array
对象返回。读取流中的下一个属性,并将其作为ASCII字符流返回。读取流中的下一个属性,并将其作为Java编程语言中的java.math.BigDecimal
对象返回。读取流中的下一个属性,并将其作为未解释字节流返回。readBlob()
从流中读取一个SQLBLOB
值,并将其作为Java编程语言中的Blob
对象返回。boolean
读取流中的下一个属性,并将其作为Java编程语言中的boolean
返回。byte
readByte()
读取流中的下一个属性,并将其作为Java编程语言中的byte
返回。byte[]
读取流中的下一个属性,并将其作为Java编程语言中的字节数组返回。读取流中的下一个属性,并将其作为Unicode字符流返回。readClob()
从流中读取一个SQLCLOB
值,并将其作为Java编程语言中的Clob
对象返回。readDate()
读取流中的下一个属性,并将其作为java.sql.Date
对象返回。double
读取流中的下一个属性,并将其作为Java编程语言中的double
返回。float
读取流中的下一个属性,并将其作为Java编程语言中的float
返回。int
readInt()
读取流中的下一个属性,并将其作为Java编程语言中的int
返回。long
readLong()
读取流中的下一个属性,并将其作为Java编程语言中的long
返回。从流中读取一个SQLNCLOB
值,并将其作为Java编程语言中的NClob
对象返回。读取流中的下一个属性,并将其作为Java编程语言中的String
返回。读取流头部的数据,并将其作为Java编程语言中的Object
返回。default <T> T
readObject
(Class<T> type) 读取流中的下一个属性,并将其作为Java编程语言中的Object
返回。readRef()
从流中读取一个SQLREF
值,并将其作为Java编程语言中的Ref
对象返回。从流中读取一个SQLROWID
值,并将其作为Java编程语言中的RowId
对象返回。short
读取流中的下一个属性,并将其作为Java编程语言中的short
返回。从流中读取一个SQLXML
值,并将其作为Java编程语言中的SQLXML
对象返回。读取流中的下一个属性,并将其作为Java编程语言中的String
返回。readTime()
读取流中的下一个属性,并将其作为java.sql.Time
对象返回。读取流中的下一个属性,并将其作为java.sql.Timestamp
对象返回。readURL()
从流中读取一个SQLDATALINK
值,并将其作为Java编程语言中的java.net.URL
对象返回。boolean
wasNull()
检索上次读取的值是否为SQLNULL
。
-
Method Details
-
readString
读取流中的下一个属性,并将其作为Java编程语言中的String
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readBoolean
读取流中的下一个属性,并将其作为Java编程语言中的boolean
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readByte
读取流中的下一个属性,并将其作为Java编程语言中的byte
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回0
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readShort
读取流中的下一个属性,并将其作为Java编程语言中的short
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回0
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readInt
读取流中的下一个属性,并将其作为Java编程语言中的int
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回0
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readLong
读取流中的下一个属性,并将其作为Java编程语言中的long
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回0
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readFloat
读取流中的下一个属性,并将其作为Java编程语言中的float
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回0
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readDouble
读取流中的下一个属性,并将其作为Java编程语言中的double
返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回0
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readBigDecimal
读取流中的下一个属性,并将其作为Java编程语言中的java.math.BigDecimal
对象返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readBytes
读取流中的下一个属性,并将其作为Java编程语言中的字节数组返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readDate
从流中读取下一个属性并将其作为java.sql.Date
对象返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readTime
从流中读取下一个属性并将其作为java.sql.Time
对象返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readTimestamp
从流中读取下一个属性并将其作为java.sql.Timestamp
对象返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readCharacterStream
从流中读取下一个属性并将其作为Unicode字符流返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readAsciiStream
从流中读取下一个属性并将其作为ASCII字符流返回。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readBinaryStream
读取流中头部的数据并将其作为Java编程语言中的Object
返回。返回的对象的实际类型由默认类型映射和此流的类型映射中存在的任何自定义确定。在将流头部的数据为SQL
NULL
时,该方法返回null
。如果数据为SQL结构化或不同类型,则它确定流头部的数据的SQL类型。如果流的类型映射中有该SQL类型的条目,驱动程序将构造适当类的对象并调用该对象上的方法SQLData.readSQL
,该方法使用为该方法描述的协议从流中读取附加数据。- Returns:
-
the attribute; if the value is SQL
NULL
, returnsnull
- Throws:
-
SQLException
- if a database access error occurs -
SQLFeatureNotSupportedException
- if the JDBC driver does not support this method - Since:
- 1.2
-
readObject
Reads the datum at the head of the stream and returns it as anObject
in the Java programming language. The actual type of the object returned is determined by the default type mapping, and any customizations present in this stream's type map.A type map is registered with the stream by the JDBC driver before the stream is passed to the application.
When the datum at the head of the stream is an SQL
NULL
, the method returnsnull
. If the datum is an SQL structured or distinct type, it determines the SQL type of the datum at the head of the stream. If the stream's type map has an entry for that SQL type, the driver constructs an object of the appropriate class and calls the methodSQLData.readSQL
on that object, which reads additional data from the stream, using the protocol described for that method.- 返回:
-
流头部的数据作为Java编程语言中的
Object
;如果数据为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readRef
从流中读取SQLREF
值并将其作为Java编程语言中的Ref
对象返回。- 返回:
-
代表流头部的SQL
REF
值的Ref
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readBlob
从流中读取SQLBLOB
值并将其作为Java编程语言中的Blob
对象返回。- 返回:
-
代表流头部的SQL
BLOB
值的Blob
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readClob
从流中读取SQLCLOB
值并将其作为Java编程语言中的Clob
对象返回。- 返回:
-
代表流头部的SQL
CLOB
值的Clob
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readArray
从流中读取SQLARRAY
值并将其作为Java编程语言中的Array
对象返回。- 返回:
-
代表流头部的SQL
ARRAY
值的Array
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
wasNull
检索最后读取的值是否为SQLNULL
。- 返回:
-
如果最近读取的SQL值为SQL
NULL
,则返回true
;否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.2
-
readURL
从流中读取SQLDATALINK
值并将其作为Java编程语言中的java.net.URL
对象返回。- 返回:
-
一个
java.net.URL
对象。 - 抛出:
-
SQLException
- 如果发生数据库访问错误,或者URL格式不正确 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.4
-
readNClob
从流中读取SQLNCLOB
值并将其作为Java编程语言中的NClob
对象返回。- 返回:
-
代表流头部的SQL
NCLOB
值的NClob
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
readNString
从流中读取下一个属性并将其作为Java编程语言中的String
返回。用于访问NCHAR
、NVARCHAR
和LONGNVARCHAR
列时使用。- 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
readSQLXML
从流中读取一个SQLXML
值,并将其作为Java编程语言中的SQLXML
对象返回。- 返回:
-
一个代表流头部的SQL
XML
值数据的SQLXML
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
readRowId
从流中读取一个SQLROWID
值,并将其作为Java编程语言中的RowId
对象返回。- 返回:
-
一个代表流头部的SQL
ROWID
值数据的RowId
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.6
-
readObject
从流中读取下一个属性,并将其作为Java编程语言中的Object
返回。返回的对象的实际类型由指定的Java数据类型和此流的类型映射中存在的任何自定义确定。在将流传递给应用程序之前,JDBC驱动程序会向流注册类型映射。
当流头部的属性为SQL
NULL
时,该方法返回null
。如果属性是SQL结构化或不同类型,则它确定流头部的属性的SQL类型。如果流的类型映射中有该SQL类型的条目,则驱动程序会构造一个适当类的对象,并调用该对象上的方法SQLData.readSQL
,该方法使用为该方法描述的协议从流中读取附加数据。默认实现将抛出
SQLFeatureNotSupportedException
- 类型参数:
-
T
- 由此Class对象建模的类的类型 - 参数:
-
type
- 表示要将属性转换为的Java数据类型的Class - 返回:
-
作为Java编程语言中的
Object
的流头部的属性;如果属性为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 - 自版本:
- 1.8
-