【问题标题】:Need example of use of PreparedStatement with Anorm scala需要将 PreparedStatement 与 Anorm scala 一起使用的示例
【发布时间】:2013-05-10 11:23:00
【问题描述】:

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

代码示例更受欢迎。

【问题讨论】:

    标签: mysql scala playframework-2.1 anorm


    【解决方案1】:

    在各自的tutorial 中给出了一个关于 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)
    )
    

    【讨论】:

    • 那么就不需要从fillStatement函数中获取一个java.sql.PreparedStatement了吗?极好的。我已经在我的应用程序上这样做了。干杯
    猜你喜欢
    • 2016-02-09
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2011-09-05
    • 2016-12-12
    • 1970-01-01
    • 2018-12-18
    • 2021-04-10
    相关资源
    最近更新 更多