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,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
这个问题有待处理,文件不确定!~