sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur kan jag ställa in en String[]-parameter till en inbyggd fråga?

Jag är väldigt sen att svara på det.

Den här lösningen är en slags lösning genom att använda postgreSQL inbyggda funktion, som definitivt fungerade för mig.

referensblogg

1) Konvertera strängarray till kommaseparerad sträng

Om du använder Java8 är det ganska enkelt. andra alternativ finns här

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

2) PostgreSQL inbyggda funktion string_to_array()

du kan hitta andra postgreSQL-arrayfunktioner här

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


  1. SQL Server Collection Inventory Script -2

  2. Neo4j - Välja data med MATCH med Cypher

  3. Uppskattat antal rader som ska läsas

  4. Någon prestandapåverkan i Oracle för att använda LIKE 'sträng' vs ='sträng'?