我在我的代码中使用PreparedStatement,因为我有很多特殊字符要插入到数据库中。
我的一些表有很多列,所以一次分配一个参数似乎有些过分。是否有更好/更有效的指定参数?
干杯!
答案 0 :(得分: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));
}
}