/ / Drucken interpolierte SQL-Abfrage in Slick - Scala, JDBC, vorbereitete Anweisung, Slick, Slick-2.0

Drucken interpolierter SQL-Abfrage in Slick - Scala, JDBC, vorbereitete Anweisung, Slick, Slick-2.0

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 № 1

Wahrscheinlich 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]