首页 > 解决方案 > 有没有更好的方法用 Java Prepared 语句编写 SQL Insert 语句

问题描述

我有一个插入查询,其中包含超过 150 列,我将根据某些条件插入数据,因此在 java 中使用准备好的语句编写查询的更好方法。

一些数据也可以为空。

stmt = con.prepareStatement(query);

stmt.setObject(1,id);
stmt.setObject(2,date);
.
.
.
.
.
stmt.setObject(n,someotherfield);

标签: javamysqljdbcprepared-statementsql-insert

解决方案


对于大多数数据类型,setObject应该可以解决问题(正如您已经在问题中使用的那样)。您可以保存一个值列表并对其进行循环:

for (int i = 0; i < valuesList.size(); ++i) {
    stmt.setObject(i + 1, valuesList.get(i);
}

推荐阅读