我用anorm做了如下:
val name = "john"
val age = 30
val params: Seq[NamedParameter] = List(NamedParameter("name", name), NamedParameter("age", age))
SQL"insert into person (name, age) values ({name}, {age})".on(params:_*)).executeUpdate()
我知道它可以更简单如下:
SQL"insert into person (name, age) values ($name, $age)".executeUpdate()
但是,我有一个动态的参数列表,所以我需要使用第一个选项。
我现在正在使用akka流,我通过光滑替换了anorm,因为光滑有一个akka流连接器。 我使用slicks和普通的sql查询,而不是case case。
第二种选择效果很好:
sqlu"insert into person (name, age) values ($name, $age)"
但我不知道如何在anorm中使用第一个选项:SQL(...).on(params:_*)
任何想法?