sql >> Database >  >> RDS >> PostgreSQL

Hoe kan ik een String[]-parameter instellen op een native query?

Ik ben erg laat om het te beantwoorden.

Deze oplossing is een soort tijdelijke oplossing met de ingebouwde postgreSQL-functie, wat zeker voor mij werkte.

referentieblog

1) Tekenreeksarray converteren naar door komma's gescheiden tekenreeks

Als u Java8 gebruikt, is het vrij eenvoudig. andere opties zijn hier

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

2) PostgreSQL ingebouwde functie string_to_array()

u kunt hier andere postgreSQL-arrayfuncties vinden

// 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. Enkele quote, dubbele quote en backticks in MySQL-query's

  2. Waarom heeft de Oracle IN-clausule een limiet van 1000 alleen voor statische gegevens?

  3. Hoe u SQL-resultaten filtert in een heeft-veel-door-relatie

  4. Fix "Ten minste één van de argumenten voor COALESCE moet een expressie zijn die niet de NULL-constante is" in SQL Server