PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment définir un paramètre String[] sur une requête native ?

Je suis très en retard pour y répondre.

Cette solution est une sorte de solution de contournement utilisant la fonction intégrée postgreSQL, qui a définitivement fonctionné pour moi.

blog de référence

1) Convertir un tableau de chaînes en chaîne séparée par des virgules

Si vous utilisez Java8, c'est assez simple. d'autres options sont ici

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

2) Fonction intégrée PostgreSQL string_to_array()

vous pouvez trouver d'autres fonctions de tableau postgreSQL ici

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