我在我的代码中使用 PreparedStatement,因为我有很多特殊字符要插入到数据库中。
我的一些表有很多列,所以一次分配一个参数似乎有点过头了。指定参数是否有更好/更有效的方法?
干杯!
我在我的代码中使用 PreparedStatement,因为我有很多特殊字符要插入到数据库中。
我的一些表有很多列,所以一次分配一个参数似乎有点过头了。指定参数是否有更好/更有效的方法?
干杯!
我不完全清楚你的问题是什么。
必须在 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));
}
}