- java.lang.Object
-
- javax.sql.rowset.serial.SerialArray
-
- All Implemented Interfaces:
-
Serializable,Cloneable,Array
public class SerialArray extends Object implements Array, Serializable, Cloneable
一个Array对象的序列化版本,它是Java编程语言中的一个SQLARRAY值的映射。SerialArray类提供了一个从Array对象创建SerialArray实例的Array函数,获取基类型的基本类型和SQL名称的方法以及复制SerialArray对象的全部或部分的方法。注意:为了使此类正常运行,必须连接到数据源才能使SQL
Array对象实现(将其所有元素带入客户端服务器)。 此时,当前不支持对数据源中的数据(如定位器)的逻辑指针。线程安全
SerialArray不能安全地被多个并发线程使用。 如果一个SerialArray由多个线程使用,则应通过适当的同步来控制对SerialArray的访问。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 SerialArray(Array array)构造一个新SerialArray从给定对象Array对象。SerialArray(Array array, Map<String,Class<?>> map)从给定的Array对象构造一个新的SerialArray对象,当元素是SQL UDT时,使用给定的类型映射来查看每个元素的自定义映射。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Objectclone()返回此SerialArray的克隆。booleanequals(Object obj)将此SerialArray与指定的对象进行比较。voidfree()该方法可以释放SerialArray对象并释放它所拥有的资源。ObjectgetArray()返回一个新的数组,该数组是该SerialArray对象的副本。ObjectgetArray(long index, int count)返回一个新数组,它是该SerialArray对象的一个片段的副本,从给定索引处的元素开始,并包含给定数量的连续元素。ObjectgetArray(long index, int count, Map<String,Class<?>> map)返回一个新数组,该数组是该SerialArray对象的一个片段的副本,从给定索引处的元素开始,并包含给定数量的连续元素。ObjectgetArray(Map<String,Class<?>> map)返回一个新数组,该数组是该SerialArray对象的副本,当元素为SQL UDT时,使用给定的类型映射来映射每个元素的自定义映射。intgetBaseType()检索此SerialArray对象中的元素的SQL类型。StringgetBaseTypeName()检索此SerialArray对象中元素的DBMS特定类型名称。ResultSetgetResultSet()检索一个ResultSet对象,其中包含SerialArray对象所代表的ARRAY值中的所有元素。ResultSetgetResultSet(long index, int count)检索一个ResultSet对象,该对象保存从索引 索引开始的子阵列的元素,并包含最多 计数连续元素。ResultSetgetResultSet(long index, int count, Map<String,Class<?>> map)检索设置保持其开始于检索所述子阵列的元素的结果ResultSet对象,其中包含在该元件的子阵列SerialArray对象,开始于索引 指数和包含 count个连续元素。ResultSetgetResultSet(Map<String,Class<?>> map)检索ResultSet对象,该对象包含由此SerialArray对象表示的SQLARRAY值的所有元素。inthashCode()返回此SerialArray的哈希码。
-
-
-
构造方法详细信息
-
SerialArray
public SerialArray(Array array, Map<String,Class<?>> 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)所述的完全合格的名称Class对象为SQLData执行定义UDT是如何被映射。 地图参数没有任何效果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 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,Class<?>> map) throws SerialException
返回一个新数组,该数组是SerialArray对象的副本,当元素为SQL UDT时,使用给定的类型映射表示每个元素的自定义映射。如果数组元素是UDT,并且给定的类型映射具有该UDT的条目,则此方法执行自定义映射。 自定义映射是递归的,这意味着,如果例如,SQL结构化类型的元素是SQL结构类型,其本身具有作为SQL结构类型的元素,那么具有自定义映射的每个结构化类型将根据给定类型地图。
- Specified by:
-
getArray在接口Array - 参数
-
map-一个java.util.Map对象,其中每个条目包含:1)一个String对象给出UDT的完全合格的名称和2)Class对象为SQLData执行定义UDT是如何被映射 - 结果
-
这个
SerialArray对象的副本是一个Object的Java编程语言 - 异常
-
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,Class<?>> 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)Class对象为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对象,保存从索引索引开始的子阵列的元素,并包含最多计数连续元素。 如果地图包含基本类型的条目,则此方法使用连接的类型映射来映射数组的元素。 否则,使用标准映射。- Specified by:
-
getResultSet在接口Array - 参数
-
index- 要复制的第一个元素的这个SerialArray对象的索引; 数组中第一个元素的索引为0 -
count- 从给定索引开始的要复制的连续元素的数量 - 结果
-
一个
ResultSet包含此所指定的元素对象SerialArray对象,具有一个单独的行的每个元素 - 异常
-
SerialException- 如果调用原因设置为UnsupportedOperationException
-
getResultSet
public ResultSet getResultSet(Map<String,Class<?>> map) throws SerialException
检索ResultSet对象,它包含所有的SQL的元件的ARRAY由该表示值SerialArray对象。 这种方法使用了类型映射自定义指定映射除非数组的基本类型不匹配在地图上用户定义的类型(UDT),在这种情况下,它使用标准映射。 该方法getResultSet使用给定类型映射或标准映射; 它从不使用与连接相关联的类型映射。- Specified by:
-
getResultSet在接口Array - 参数
-
map-一个java.util.Map对象,其中每个条目包含:1)一个String对象给出UDT的完全合格的名称和2)Class对象为SQLData执行定义UDT是如何被映射 - 结果
-
一个
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,Class<?>> map) throws SerialException
检索设置保持其开始于检索所述子阵列的元素的结果ResultSet对象,其中包含在该元件的子阵列SerialArray对象,开始于索引指数和包含count个连续元素。 这种方法使用了类型映射自定义指定映射除非数组的基本类型不匹配在地图上用户定义的类型(UDT),在这种情况下,它使用标准映射。 该方法getResultSet使用给定类型映射或标准映射; 它从不使用与连接相关联的类型映射。- Specified by:
-
getResultSet在接口Array - 参数
-
index- 要复制的第一个元素的索引到这个SerialArray对象; 数组中第一个元素的索引为0 -
count- 从给定索引开始的要复制的连续元素的数量 -
map-一个java.util.Map对象,其中每个条目包含:1)一个String对象给出UDT的完全合格的名称和2)Class对象为SQLData执行定义UDT是如何被映射 - 结果
-
一个
ResultSet包含此所指定的元素对象SerialArray对象,具有一个单独的行的每个元素 - 异常
-
SerialException- 如果调用原因设置为UnsupportedOperationException
-
equals
public boolean equals(Object obj)
将此SerialArray与指定的对象进行比较。 结果是true当且仅当参数不是null并且是一个SerialArray对象,其元素与该对象的元素相同- 重写:
-
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)
-
-