Wie würden Sie eine java.util.List
-Instanz in ein java.sql.Array
umwandeln?
Antworten
Zu viele Anzeigen?Verwenden Sie connection.createArrayOf(...)
Zum Beispiel:
final String[] data = yourList.toArray(new String[yourList.size()]);
final java.sql.Array sqlArray = connection.createArrayOf(typeName, data);
statement.setArray(position, sqlArray);
Wo typeName ist:
der SQL-Name des Typs, dem die Elemente des Arrays zugeordnet sind. Der typeName ist ein datenbankspezifischer Name, der der Name eines eingebauten Typs, eines benutzerdefinierten Typs oder eines von dieser Datenbank unterstützten Standard-SQL-Typs sein kann. Dies ist der Wert, der von Array.getBaseTypeName zurückgegeben wird
Wie in den Kommentaren erwähnt, handelt es sich um Java 1.6. Für ältere Versionen können Sie dies nicht auf eine treiberunabhängige Weise erstellen. Sie sollten nur Arrays abrufen können, nicht erstellen. Wenn Sie möchten, können Sie die implementierende Klasse aus Ihrem JDBC-Treiber instanziieren, aber dies ist nicht portabel.