Java: 如何为preparedStatement以更优雅的方式插入多个值?

Java: How to insert multiple values in a more elegant way for preparedStatment?

下面是我的 scala 代码,一个 Postgres 的插入查询,将被传递给 PreparedStatement

val query =
        s"""
           |insert into structure_products (
           |identifier, "assetClass", "name",      "scoreType",
           |"field_1",  "field_2",    "field_3",   "field_4",
           |"field_5",  "field_6",    "field_7",   "field_8",
           |"field_9",  "field_10",   "field_11",  "field_12")
           |values (
           |?, ?, ?, ?,
           |?, ?, ?, ?,
           |?, ?, ?, ?,
           |?, ?, ?, ?)
           |""".stripMargin

然后我必须为 16 个字段做一个手动设置。

val statement = connection.prepareStatement(query)

statement.setString(1, identifier)
statement.setString(2, assetClass)
statement.setString(3, name)
...
statement.setTimestamp(15, field_11)
statement.setTimestamp(16, field_12)

那么有没有其他更优雅的方式来做到这一点?非常感谢!

我认为在你的情况下最好的方法之一是将你的字段和值传递给函数(作为参数)并在函数中生成最终的 INSERT 语句。

您可以查看 Anorm,不是 ORM,而是 Play 发起的简单 Scala JDBC 映射器(我是其贡献者)。