2012-04-24 63 views
-1

我在我的代码中使用了PreparedStatement,因为我有很多特殊字符要插入到数据库中。有效地喂入准备状态

我的一些表格有很多列,所以在一次分配一个参数时看起来有点矫枉过正。指定参数有更好/更高效吗?

干杯!

+0

矫枉过正显然是错误的表达在这里。由于人们的品味不同:你称之为“很多列”? 10,20,50,100,1000? – 2012-04-24 11:11:18

+0

就效率而言,就是这样。在便利性方面,您需要编写自己的实用程序代码。 JDBC主要是关于原始性能,而不是便利性。 – 2012-04-24 11:14:17

回答

2

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

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

但是,您可以轻松编写一个类/方法,允许您传递参数的一个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)); 
    } 
} 
相关问题