0

在下面的代码中......(取自Scala Play Tutorial

object Task {

val task = {
    get[Long]("id") ~
    get[String]("label") map {
        case id~label => Task(id, label)
    }
}

    ...

    def create(label:String) {
        DB.withConnection { implicit c =>
            SQL("insert into task (label) values ({label})").on(
                'label -> label
            ).executeUpdate()
        }
    }

'label -> label意思是插入吗map { id : label }

我想目的是写更简洁的代码?

4

2 回答 2

0

'label -> label表示label:String代替"{label}",因为 SQL 语法是insert into table (field1, field2, ...) values (value1, value2, ...). 请阅读一些关于 SQL 的内容,它是一个体面的语言家族

于 2013-01-05T01:43:16.860 回答
0

"insert into task (label) values ({label})"是一个模板,on正在使用 type 的参数映射呈现该模板Symbol -> String,并且可能还有 sql 在呈现它们时转义参数。符号基本上只是一种类型,例如经过优化以作为映射中的键的字符串。

于 2013-01-05T01:40:45.947 回答