1

我正在使用 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 完全一无所知,而且我已经浏览了源代码,但没有获得太多见解。

代码示例更受欢迎。

4

1 回答 1

1

相应教程中给出了有关 Anorm 用法的一个很好的示例。它还包含一些将动态参数传递给查询的示例。您应该首先编写查询并替换{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)
)
于 2013-05-10T16:33:23.550 回答