2010-05-21 47 views

回答

27

connection.createArrayOf(...)使用

例如:

final String[] data = yourList.toArray(new String[yourList.size()]); 
final java.sql.Array sqlArray = connection.createArrayOf(typeName, data); 
statement.setArray(position, sqlArray); 

其中typeName为:

类型的SQL名称阵列地图的元素。 typeName是特定于数据库的名称,可能是此数据库支持的内置类型,用户定义类型或标准SQL类型的名称。此参数是Array.getBaseTypeName


返回在评论中所指出的价值,这就是Java 1.6。对于旧版本,您无法以独立于驱动程序的方式创建此版本。你只应该得到数组,而不是创建它们。如果你愿意,你可以从你的jdbc驱动实例化实现类,但这是不可移植的。

+0

由于java 1.6 ... – pgras 2010-05-21 07:44:30

+1

这是_current_ Java。如果他更低,他应该说明。 – Bozho 2010-05-21 07:46:19

+0

是的,你是对的Java版本,我只是写了我的评论,因为我试图查找我书签的javadoc中的方法是1.5(因为它是我必须使用的版本)... – pgras 2010-05-21 10:34:21

1

createArrayOf的type参数是元素类型,而不是数组类型,因此您可能需要类似“varchar”或“text”的东西。 VARIADIC是一个函数参数修饰符,而不是一个类型说明符。

相关问题