首页 > 解决方案 > Java:如何以更优雅的方式为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)

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

标签: javasqlpostgresqlscalaprepared-statement

解决方案


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


推荐阅读