PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann ich einen String[]-Parameter auf eine native Abfrage setzen?

Ich bin sehr spät dran, darauf zu antworten.

Diese Lösung ist eine Art Problemumgehung mit der integrierten PostgreSQL-Funktion, die definitiv für mich funktioniert hat.

Referenzblog

1) String-Array in kommagetrennten String konvertieren

Wenn Sie Java8 verwenden, ist es ziemlich einfach. Weitere Optionen finden Sie hier

String commaSeparatedString = String.join(",",stringArray); // Java8 feature

2) PostgreSQL-integrierte Funktion string_to_array()

Weitere PostgreSQL-Array-Funktionen finden Sie hier

// tableName ( name text, string_array_column_name text[] )

String query = "insert into tableName(name,string_array_column_name ) values(?, string_to_array(?,',') )";


int[] types = new int[] { Types.VARCHAR, Types.VARCHAR};

Object[] psParams = new Object[] {"Dhruvil Thaker",commaSeparatedString };

jdbcTemplate.batchUpdate(query, psParams ,types); // assuming you have jdbctemplate instance