Ich versuche, eine interpolierte Slick2-SQL-Anweisung zum Debuggen zu drucken, und alles, was ich bekomme, ist derjenige mit Fragezeichen, z.
def query(name: String) = sql"SELECT MAX(age) FROM users WHERE name = $name".as[Int]
println(query("Bob").getStatement)
Das obige druckt dies:
SELECT MAX(age) FROM users WHERE name = ?
Wie kann ich es drucken lassen:
SELECT MAX(age) FROM users WHERE name = "Bob"
Hinweis: Diese Frage ist kein Duplikat von Dies
Antworten:
3 für die Antwort № 1Wahrscheinlich möchtest du Folgendes zu deiner application.conf hinzufügen
logger.scala.slick.session=DEBUG
Dies sollte kompilierte Abfragezeichenfolgen in der Konsole anzeigen.
2 für die Antwort № 2
Aus dem Slick Dokumentation: "Sie können # $ anstelle von $ verwenden, um den Literalwert direkt in die Abfrage einzufügen".
//note the "#"
def query(name : String) = sql"SELECT MAX(age) FROM users WHERE name = "#$name"".as[Int]