Danielku15
Erfahrenes Mitglied
Hallo Leute.
Folgendes Problem: Ich hab eine Liste von Filterkriterien in einer Map (Key: Spaltenname Value: Suchstring).
Diese Werte sollen nun in sicher in den Where Anteil meines PreparedStatements.
(SELECT * FROM Table WHERE ?)
Ziel ist es, den Value Part zuerst zu parsen und dann entsprechend ein SQL zu generieren:
Spalte1 beinhaltet kein Wildcard, dadurch direktes übereinstimmen:
Spalte1 = 'Wert01'
Spalte2 beinhaltet ein Wildcard und mehrere Werte. Bei Mehreren Werten will ich den String splitten und dann verarbeiten.
(Spalte2 LIKE 'Wert%' OR Spalte2 LIKE 'Value%')
Die beiden Kriterien müssen nun über AND verknüpft in den Whereanteil:
SELECT * FROM Table WHERE Spalte1 = 'Wert01' AND (Spalte2 LIKE 'Wert%' OR Spalte2 LIKE 'Value%'
Das ganze Simpel als String zu parsen wäre ja kein Problem, aber aufgrund der Zeiten von SQL Injections sollte das ganze in ein PreparedStatement rein.
Irgendwelche Ideen? Soll ich zuerst ein PreparedStatement Template generieren und dann alle Parameter als Array/Collection anhängen? Oder gibts da generell eine andere Möglichkeit?
Gruß Daniel
Folgendes Problem: Ich hab eine Liste von Filterkriterien in einer Map (Key: Spaltenname Value: Suchstring).
Code:
+-------------------+-------------------+
| Key | Value |
+-------------------+-------------------+
| Spalte1 | Wert01 |
| Spalte2 | Wert* Value* |
+-------------------+-------------------+
Diese Werte sollen nun in sicher in den Where Anteil meines PreparedStatements.
(SELECT * FROM Table WHERE ?)
Ziel ist es, den Value Part zuerst zu parsen und dann entsprechend ein SQL zu generieren:
Spalte1 beinhaltet kein Wildcard, dadurch direktes übereinstimmen:
Spalte1 = 'Wert01'
Spalte2 beinhaltet ein Wildcard und mehrere Werte. Bei Mehreren Werten will ich den String splitten und dann verarbeiten.
(Spalte2 LIKE 'Wert%' OR Spalte2 LIKE 'Value%')
Die beiden Kriterien müssen nun über AND verknüpft in den Whereanteil:
SELECT * FROM Table WHERE Spalte1 = 'Wert01' AND (Spalte2 LIKE 'Wert%' OR Spalte2 LIKE 'Value%'
Das ganze Simpel als String zu parsen wäre ja kein Problem, aber aufgrund der Zeiten von SQL Injections sollte das ganze in ein PreparedStatement rein.
Irgendwelche Ideen? Soll ich zuerst ein PreparedStatement Template generieren und dann alle Parameter als Array/Collection anhängen? Oder gibts da generell eine andere Möglichkeit?
Gruß Daniel