Es gibt Zeiten, in denen Sie den bedingten Teil von SQL dynamisch erstellen möchten. Insbesondere, wenn sich der in der IN-Klausel festgelegte Wert dynamisch ändert.
SELECT foo FROM sample_table
WHERE bar IN (?, ?, ?, ?, ?); --Hier?Ich möchte damit umgehen, wann die Anzahl der
Solches SQL ist anfällig für Leistungsprobleme, wird jedoch häufig für kleine Projekte akzeptiert. Ich habe ein Bild von einem Problem, das auftritt, wenn ich es vergesse, und ich kann es schreiben, indem ich die for-Anweisung ehrlich verwende, aber ich möchte es kurz schreiben.
int size = 10; //Ich möchte erstellen?Anzahl der
String placeholders = IntStream.range(0, size)
.boxed()
.map(i -> "?")
.collect(Collectors.joining(", ", "(", ")"));
System.out.println(placeholders);
// (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Wenn ich persönlich einen innovativen Schreibstil (in jeder Sprache) finde, möchte ich ihn hinzufügen.
Recommended Posts