下列是一个样例数据库模式:
CREATE TABLE tab (a set(integer not null), b integer);
INSERT INTO tab VALUES ("set{1,2,3}", 10);
下列示例使用 java.sql.Array 对象访存数据:
PreparedStatement pstmt = conn.prepareStatement("select a from tab");
System.out.println("prepare ... ok");
ResultSet rs = pstmt.executeQuery();
System.out.println("executeQuery ... ok");
rs.next();
java.sql.Array array = rs.getArray(1);
System.out.println("getArray() ... ok");
pstmt.close();
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 121 -
/*
* The user can now materialize the data into either
* an array or else a ResultSet. If the collection elements
* are primitives then the array should be an array of primitives,
* not Objects. Mapping data can be provided at this point.
*/
Object obj = array.getArray((long) 1, 2);
int [] intArray = (int []) obj; // cast it to an array of ints
int i;
for (i=0; i < intArray.length; i++)
{
System.out.println("integer element = " + intArray[i]);
}
pstmt.close();
java.sql.Array array = rs.getArray(1) 语句实例化 java.sql.Array 对象。在此点不转换数据。
Object obj = array.getArray((long)1, 2) 语句将数据转换为整数的数组(int 类型,不
是 Integer 对象)
。
由于未以索引和计数值调用getArray() 方法,
因此,
仅返回数据的子集。