需要使用带有Anorm scala的PreparedStatement的示例

时间:2013-05-10 11:23:00

标签: mysql scala playframework-2.1 anorm

我正在使用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,我已经完成了源代码而没有获得太多的洞察力。

代码示例更受欢迎。

1 个答案:

答案 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)
)