我正在使用Anorm从Playframework 2.1查询MySQL数据库。我创建了这样一个准备好的声明。
import play.api.db.DB
import anorm._
val stat = DB.withConnection(implicit c => SQL("SELECT name, email FROM user WHERE id=?").filledStatement)
现在我该如何使用它?我这样做是对吗?我完全不了解anorm API,我已经完成了源代码而没有获得太多的洞察力。
代码示例更受欢迎。
答案 0 :(得分:1)
Anorm用法的一个很好的例子在相应的tutorial中给出。它还包含一些将动态参数传递给查询的示例。您应首先编写查询并在查询字符串中替换{somePlaceholder}
之类的声明占位符。您可以稍后使用.on()
方法分配值,如下所示:
SQL(
"""
select * from Country c
join CountryLanguage l on l.CountryCode = c.Code
where c.code = {countryCode};
"""
).on("countryCode" -> "FRA")
或者在你的情况下:
import play.api.db.DB
import anorm._
val stat = DB.withConnection(implicit c =>
SQL("SELECT name, email FROM user WHERE id={id}").on("id" -> 42)
)