- java.lang.Object
-
- javax.sql.rowset.serial.SerialArray
-
- 实现的所有接口
-
Serializable
,Cloneable
,Array
public class SerialArray extends Object implements Array, Serializable, Cloneable
Array
对象的序列化版本,它是SQLARRAY
值的Java编程语言中的ARRAY
。SerialArray
类提供了用于从Array
对象创建SerialArray
实例的Array
函数,用于获取基类型的基本类型和SQL名称的方法,以及用于复制全部或部分SerialArray
对象的方法。注意:为了使此类正常运行,必须提供与数据源的连接,以便在必要时实现SQL
Array
对象(将其所有元素带到客户端服务器)。 此时,当前不支持指向数据源中数据的逻辑指针,例如定位器。线程安全
SerialArray不适合多个并发线程使用。 如果要由多个线程使用SerialArray,则应通过适当的同步来控制对SerialArray的访问。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 SerialArray(Array array)
构造一个新SerialArray
从给定对象Array
对象。SerialArray(Array array, Map<String,类<?>> map)
从给定的Array
对象构造一个新的SerialArray
对象,当元素是SQL UDT时,使用给定的类型映射来表示每个元素的自定义映射。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Object
clone()
返回此SerialArray
。boolean
equals(Object obj)
将此SerialArray与指定的对象进行比较。void
free()
此方法释放SerialArray
对象并释放它所拥有的资源。Object
getArray()
返回一个新数组,该数组是此SerialArray
对象的副本。Object
getArray(long index, int count)
返回一个新数组,该数组是此SerialArray
对象的切片的副本,从给定索引处的元素开始并包含给定数量的连续元素。Object
getArray(long index, int count, Map<String,类<?>> map)
返回一个新数组,该数组是此SerialArray
对象的切片的副本,从给定索引处的元素开始并包含给定数量的连续元素。Object
getArray(Map<String,类<?>> map)
返回一个新数组,该数组是此SerialArray
对象的副本,当元素为SQL UDT时,使用给定的类型映射表示每个元素的自定义映射。int
getBaseType()
检索此SerialArray
对象中元素的SQL类型。String
getBaseTypeName()
检索此SerialArray
对象中元素的DBMS特定类型名称。ResultSet
getResultSet()
检索ResultSet
对象,该对象包含此SerialArray
对象表示的ARRAY
值中的所有元素。ResultSet
getResultSet(long index, int count)
检索ResultSet
对象,该对象包含从索引 索引开始并且包含最多 计数连续元素的子ResultSet
元素。ResultSet
getResultSet(long index, int count, Map<String,类<?>> map)
检索包含从检索包含此SerialArray
对象中元素的子ResultSet
对象开始的子ResultSet
的元素的结果集,从索引 索引开始并包含最多 计数连续元素。ResultSet
getResultSet(Map<String,类<?>> map)
检索ResultSet
对象,该对象包含此SerialArray
对象表示的SQLARRAY
值的所有元素。int
hashCode()
返回此SerialArray的哈希码。
-
-
-
构造方法详细信息
-
SerialArray
public SerialArray(Array array, Map<String,类<?>> map) throws SerialException, SQLException
从给定的Array
对象构造一个新的SerialArray
对象,当元素是SQL UDT时,使用给定的类型映射来表示每个元素的自定义映射。如果数组元素是UDT并且给定类型映射具有该UDT的条目,则此方法执行自定义映射。 自定义映射是递归的,这意味着,例如,如果SQL结构类型的元素是SQL结构类型,其本身具有SQL结构类型的元素,则每个具有自定义映射的结构化类型将根据给定类型地图。
新
SerialArray
对象包含相同的元素,Array
从其中它是建立,除非当基类型是SQL类型对象STRUCT
,ARRAY
,BLOB
,CLOB
,DATALINK
或JAVA_OBJECT
。 在这种情况下,在新的每一个元素SerialArray
目的是适当的串行化的形式,即,SerialStruct
,SerialArray
,SerialBlob
,SerialClob
,SerialDatalink
,或SerialJavaObject
对象。注:(1)
Array
从一个对象SerialArray
创建对象,必须已经在SQLARRAY
它传递给构造之前在客户端上值的数据。 否则,新的SerialArray
对象将不包含任何数据。注意:(2)如果
Array
包含java.sql.Types.JAVA_OBJECT
类型,则调用SerialJavaObject
构造函数进行检查以确保此对象可序列化。注意:(3)提供给此构造函数的
Array
对象不能为任何Array.getArray()
方法返回null
。SerialArray
无法序列化空数组值。- 参数
-
array
- 要序列化的Array
对象 -
map
- 一个java.util.Map
对象,其中每个条目包含1)String
对象,提供UDT(SQL结构类型或不同类型)的完全限定名称;以及2)类
对象,用于定义UDT如何到达的SQLData
实现被映射。 地图参数没有任何效果Blob
,Clob
,DATALINK
,或JAVA_OBJECT
类型。 - 异常
-
SerialException
- 如果序列化Array
对象时发生错误 -
SQLException
- 如果发生数据库访问错误或者 数组或 映射值为null
-
SerialArray
public SerialArray(Array array) throws SerialException, SQLException
构造一个新SerialArray
从给定对象Array
对象。此构造函数不执行自定义映射。 如果数组的基类型是SQL结构类型并且需要自定义映射,则应使用构造函数
SerialArray(Array array, Map map)
。新
SerialArray
对象包含相同的元素,Array
从其中它是建立,除非当基类型是SQL类型对象BLOB
,CLOB
,DATALINK
或JAVA_OBJECT
。 在这种情况下,在新的每一个元素SerialArray
目的是适当的串行化的形式,即,SerialBlob
,SerialClob
,SerialDatalink
,或SerialJavaObject
对象。注:(1)
Array
从一个对象SerialArray
创建对象,必须已经在SQLARRAY
它传递给构造之前在客户端上值的数据。 否则,新的SerialArray
对象将不包含任何数据。注意:(2)提供给此构造函数的
Array
对象无法为任何Array.getArray()
方法返回null
。SerialArray
无法序列化null
数组值。- 参数
-
array
- 要序列化的Array
对象 - 异常
-
SerialException
- 如果序列化Array
对象时发生错误 -
SQLException
- 如果发生数据库访问错误或 数组参数为null
。
-
-
方法详细信息
-
free
public void free() throws SQLException
此方法释放SerialArray
对象并释放它所拥有的资源。 调用free
方法后,该对象无效。如果
free
被多次调用,在后续调用free
被视为无操作。- Specified by:
-
free
在接口Array
- 异常
-
SQLException
- 如果发生错误,则释放SerialArray的资源 - 从以下版本开始:
- 1.6
-
getArray
public Object getArray() throws SerialException
返回一个新数组,该数组是此SerialArray
对象的副本。- Specified by:
-
getArray
接口Array
- 结果
-
这个
SerialArray
对象的副本,作为Java编程语言中的Object
- 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
-
getArray
public Object getArray(Map<String,类<?>> map) throws SerialException
返回一个新数组,该数组是此SerialArray
对象的副本,当元素为SQL UDT时,使用给定的类型映射表示每个元素的自定义映射。如果数组元素是UDT并且给定类型映射具有该UDT的条目,则此方法执行自定义映射。 自定义映射是递归的,这意味着,例如,如果SQL结构类型的元素是SQL结构类型,其本身具有SQL结构类型的元素,则每个具有自定义映射的结构化类型将根据给定类型地图。
- Specified by:
-
getArray
接口Array
- 参数
-
map
- 一个java.util.Map
对象,其中每个条目包含1)String
对象,提供UDT的完全限定名称; 2)类
对象,用于定义UDT如何映射的SQLData
实现 - 结果
-
这个
SerialArray
对象的副本,作为Java编程语言中的Object
- 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
-
getArray
public Object getArray(long index, int count) throws SerialException
返回一个新数组,该数组是此SerialArray
对象的切片的副本,从给定索引处的元素开始并包含给定数量的连续元素。- Specified by:
-
getArray
接口Array
- 参数
-
index
- 要复制的第一个元素的SerialArray
对象的索引; 第一个元素的索引是0
-
count
- 从给定索引开始要复制的连续元素数 - 结果
-
此
SerialArray
对象中指定元素的副本,作为Java编程语言中的Object
- 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
-
getArray
public Object getArray(long index, int count, Map<String,类<?>> map) throws SerialException
返回一个新数组,该数组是此SerialArray
对象的切片的副本,从给定索引处的元素开始并包含给定数量的连续元素。如果数组元素是UDT并且给定类型映射具有该UDT的条目,则此方法执行自定义映射。 自定义映射是递归的,这意味着,例如,如果SQL结构类型的元素是SQL结构类型,其本身具有SQL结构类型的元素,则每个具有自定义映射的结构化类型将根据给定类型地图。
- Specified by:
-
getArray
接口Array
- 参数
-
index
- 要复制的第一个元素的SerialArray
对象的索引; 数组中第一个元素的索引是0
-
count
- 从给定索引开始要复制的连续元素数 -
map
-一个java.util.Map
对象,其中每个条目包含:1)一个String
对象给出UDT的完全合格的名称和2)类
对象为SQLData
执行定义UDT是如何被映射 - 结果
-
此
SerialArray
对象中指定元素的副本,作为Java编程语言中的Object
- 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
-
getBaseType
public int getBaseType() throws SerialException
检索此SerialArray
对象中的元素的SQL类型。 返回的int
是类java.sql.Types
中的常量之一。- Specified by:
-
getBaseType
在接口Array
- 结果
-
java.sql.Types
中的常量之一,表示此SerialArray
对象中元素的SQL类型 - 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
-
getBaseTypeName
public String getBaseTypeName() throws SerialException
检索此SerialArray
对象中元素的DBMS特定类型名称。- Specified by:
-
getBaseTypeName
接口Array
- 结果
-
DBMS用于此
SerialArray
对象的基本类型的SQL类型名称 - 异常
-
SerialException
- 如果发生错误; 如果之前已在此对象free
-
getResultSet
public ResultSet getResultSet(long index, int count) throws SerialException
检索ResultSet
对象,该对象包含从索引索引开始并且包含最多计数连续元素的子ResultSet
元素。 如果映射包含基本类型的条目,则此方法使用连接的类型映射来映射数组的元素。 否则,使用标准映射。- Specified by:
-
getResultSet
接口Array
- 参数
-
index
- 要复制的第一个元素的SerialArray
对象的索引; 数组中第一个元素的索引是0
-
count
- 从给定索引开始要复制的连续元素数 - 结果
-
一个
ResultSet
包含此所指定的元素对象SerialArray
对象,具有一个单独的行的每个元素 - 异常
-
SerialException
- 如果调用原因设置为UnsupportedOperationException
-
getResultSet
public ResultSet getResultSet(Map<String,类<?>> map) throws SerialException
检索ResultSet
对象,该对象包含此SerialArray
对象表示的SQLARRAY
值的所有元素。 这种方法使用了类型映射自定义指定映射除非数组的基本类型不匹配在地图上用户定义的类型(UDT),在这种情况下,它使用标准映射。 此版本的方法getResultSet
使用给定的类型映射或标准映射; 它从不使用与连接关联的类型映射。- Specified by:
-
getResultSet
接口Array
- 参数
-
map
- 一个java.util.Map
对象,其中每个条目包含1)String
对象,提供UDT的完全限定名称; 2)类
对象,用于定义UDT如何映射的SQLData
实现 - 结果
-
包含此
ResultSet
对象中所有元素的SerialArray
对象,每个元素都有一个单独的行 - 异常
-
SerialException
- 如果调用原因设置为UnsupportedOperationException
-
getResultSet
public ResultSet getResultSet() throws SerialException
检索ResultSet
对象,该对象包含此SerialArray
对象表示的ARRAY
值中的所有元素。 如果合适,使用连接的类型映射映射数组的元素; 否则,使用标准映射。- Specified by:
-
getResultSet
接口Array
- 结果
-
包含此
ResultSet
对象中所有元素的SerialArray
对象,每个元素都有一个单独的行 - 异常
-
SerialException
- 如果调用原因设置为UnsupportedOperationException
-
getResultSet
public ResultSet getResultSet(long index, int count, Map<String,类<?>> map) throws SerialException
检索包含子流的元素的结果集,该子流以从ResultSet
对象中包含元素的子ResultSet
检索一个SerialArray
对象,从索引索引开始并包含最多计数连续元素。 这种方法使用了类型映射自定义指定映射除非数组的基本类型不匹配在地图上用户定义的类型(UDT),在这种情况下,它使用标准映射。 此版本的方法getResultSet
使用给定的类型映射或标准映射; 它从不使用与连接关联的类型映射。- Specified by:
-
getResultSet
接口Array
- 参数
-
index
- 要复制的第一个元素的SerialArray
对象的索引; 数组中第一个元素的索引是0
-
count
- 从给定索引开始要复制的连续元素数 -
map
-一个java.util.Map
对象,其中每个条目包含:1)一个String
对象给出UDT的完全合格的名称和2)类
对象为SQLData
执行定义UDT是如何被映射 - 结果
-
一个
ResultSet
包含此所指定的元素对象SerialArray
对象,具有一个单独的行的每个元素 - 异常
-
SerialException
- 如果调用原因设置为UnsupportedOperationException
-
equals
public boolean equals(Object obj)
将此SerialArray与指定的对象进行比较。 当且仅当参数不是null
并且是一个SerialArray
对象,其元素与此对象的元素相同时,结果为true
- 重写:
-
equals
类Object
- 参数
-
obj
-要比较的对象这个SerialArray
反对 - 结果
-
true
如果给定的对象表示SerialArray
相当于此SerialArray,false
否则 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此SerialArray的哈希码。 要的哈希码SerialArray
对象使用的元素的哈希码计算SerialArray
对象- 重写:
-
hashCode
类Object
- 结果
- 此对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-