2010-05-21 379 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是一個函數參數修飾符,而不是一個類型說明符。

相關問題