scala – 如何在Play框架中打印出填充的Anorm SQL语句

如何打印出将使用Anorm运行的SQL状态.

SQL(s"SELECT $terms FROM $PERSON_TABLE WHERE name = {name}").on("name" -> "Bill")

打印给我这个

SimpleSql(anorm.SqlQuery$$anon$1@1197b8ab,Map(name -> ParameterValue(Bill)),<function1>,false)

我想看看将在服务器上运行的确切查询,

SELECT id, name, state FROM person WHERE name = "Bill";

我不想像这样使用插值

s"SELECT $terms FROM $PERSON_TABLE WHERE name = $name"

我需要能够看到所有转义的字符和包含在(‘)中的内容以及包含在(“)中的内容

使用:

播放2.4.1-Scala

谢谢,

亚当

最佳答案 您可以使用Acolyte(我的框架)中的
debuging utility.

import acolyte.jdbc.AcolyteDSL

AcolyteDSL.debuging() { implicit con =>
  // debug any JDBC execution within

  SQL"SELECT * FROM Test WHERE id = $id"
  // Will print the stmt prepared for
}
点赞