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 映射器(我是其贡献者)。
下面是我的 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 映射器(我是其贡献者)。