无结果集的批处理可以如此操作!
psStatement.setString(1,"a");
psStatement.setString(2,"b");
psStatement.addBatch();              
int[] uCounts1=psStatement.executeBatch(); 我想请问的是,如果是有结果的改怎么处理了?
比如,我数据库中有一个主键是id值为1,2,3,4,5,6,7,8,9······
现在jsp页面传过来一个数组,int i[]={2,3,4,5}
我以前是用for循环一条一条的执行查询然后将结果,存入一个二维数组里面,效率很低!当然如果我知道i的个数也可以使用sql语句+or来执行。但是如果传过来的值的个数未知,批处理能实现吗?

解决方案 »

  1.   

    写个for循环遍历一下数据,不就行了吗?
      

  2.   

      你可以用in  把你的传过来的数组拼成 (2,3,4,5..)  再就是sql 如 select * from test where id in  (2,3,4,5,6)   只是已知的结果 就是a已经知道了。 未知的建议用exists 比较好点 性能也比in高好多。
      

  3.   

     不是的。 多查询一定有的 程序上不是多避免,而是在sql语句上多优化, 比如你要查询大量数据 (几千万条) 你不建索引 , 那还不是查到明年去了。 呵呵。