jdbc批处理的addBatch问题

preparedstatement = connection.prepareStatement(sql.toString());
 for (int i = 0; i < list.size(); i++) {
                Map map = list.get(i);
                Set<Entry> entries = map.entrySet();
                for (Entry entry : entries) {
                    preparedstatement.setString(size, entry.getValue().toString());
                    size++;
                }
                preparedstatement.addBatch();
                if(++count % DB_BATCHSIZE == 0){
                    preparedstatement.executeBatch();
                }
            }
            preparedstatement.executeBatch();

sql语句没有问题, 因为已经执行成功, 但是!!! 只能执行一条数据
list如果只有1条数据则执行成功 , 如果超过1条,报错
错误为 索引中丢失 IN 或 OUT 参数 ::10

搞了一天了没弄明白, 求解

JDBC当中的批处理在对数据库进行批量操作时,应分析操作的前后相关性,如果属于大批量的操作,而且前续操作的结果不依赖与后继操作,则完全可以使用批处理来操作DB。 使用批处理的优点: 1.  多个SQL语句的执行,共用一个Connection资源。在对数据库操作时,connection资源是很宝贵的,数据库的维护从某种角度来说,就是减少数据库的连接数,减轻对DB的压力。创建一个数......
答案就在这里:JDBC当中的批处理
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

这个问题有待处理,文件不确定!~

http://fire11.iteye.com/blog/771208