sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo puedo establecer un parámetro String[] en una consulta nativa?

Llego muy tarde para responderla.

Esta solución es una especie de solución alternativa que usa la función incorporada de postgreSQL, que definitivamente funcionó para mí.

blog de referencia

1) Convertir matriz de cadenas en cadena separada por comas

Si está utilizando Java8, es bastante fácil. otras opciones están aquí

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

2) Función integrada de PostgreSQL string_to_array()

puede encontrar otras funciones de matriz postgreSQL aquí

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