-1

我在我的代码中使用 PreparedStatement,因为我有很多特殊字符要插入到数据库中。

我的一些表有很多列,所以一次分配一个参数似乎有点过头了。指定参数是否有更好/更有效的方法?

干杯!

4

1 回答 1

2

我不完全清楚你的问题是什么。

必须在 PreparedStatement 中单独设置参数——这是因为您需要告诉 PreparedStatement 如何在数据库中表示不同的 Java 对象。

但是,您可以轻松编写一个允许您传入 args 的 Object[] 的类/方法,然后可以通过适当的索引和对象处理将其添加到 PreparedStatement 中。

类似于以下内容:

private static void setParameters(PreparedStatement stmt, Object[] args){
  for (int i=0; i<args.length; i++){
    setArgument(stmt, i+1, args[i]);
  }
}

private static void setArgument(PreparedStatement stmt, int index, Object arg){
  if (arg instanceof MyObject){
    stmt.set[X](index, handleMyObject(arg));
  }
}
于 2012-04-24T11:22:53.160 回答