PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come posso impostare un parametro String[] su una query nativa?

Sono molto in ritardo per rispondere.

Questa soluzione è una sorta di soluzione alternativa che utilizza la funzione incorporata di postgreSQL, che ha sicuramente funzionato per me.

blog di riferimento

1) Converti array di stringhe in stringhe separate da virgole

Se stai usando Java8, è abbastanza facile. altre opzioni sono qui

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

2) Funzione incorporata di PostgreSQL string_to_array()

puoi trovare altre funzioni di matrice postgreSQL qui

// 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