jdbc批处理的addBatch问题

问题描述

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

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

解决方案

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

解决方案二:

JDBC当中的批处理在对数据库进行批量操作时,应分析操作的前后相关性,如果属于大批量的操作,而且前续操作的结果不依赖与后继操作,则完全可以使用批处理来操作DB。?使用批处理的优点:?1. ?多个SQL语句的执行,共用一个Connection资源。在对数据库操作时,connection资源是很宝贵的,数据库的维护从某种角度来说,就是减少数据库的连接数,减轻对DB的压力。创建一个数......
答案就在这里:JDBC当中的批处理
----------------------

解决方案三:

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

时间: 2025-01-01 10:24:45

jdbc批处理的addBatch问题的相关文章

jdbc-关于 JDBC批处理的问题【求助】

问题描述 关于 JDBC批处理的问题[求助] 我直接帖代码吧 public void batchUpdateXfen(String sql, List<XfenStats> list) { Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); Connection con= session.connection(); PreparedStatement stmt = null; int

JDBC问题 statement.addBatch()抛出异常

问题描述 源代码:try{Connectioncon=DriverManager.getConnection("jdbc:odbc:db1","root","");System.out.println("SuccesssLinkedDataBase");Statementstm1=con.createStatement();stm1.addBatch("insertintopetvalues('S1','Zl','d

JDBC连接数据库经验集萃

连接数据库 Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化.本文主要集合了不同数据库的连接方式. 一.连接各种数据库方式速查表 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用. 1.Oracle8/8i/9i数据库(thin模式) Class.forName("or

JDBC连接各种数据库经验技巧集萃

技巧|数据|数据库 Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化.本文主要集合了不同数据库的连接方式. 一.连接各种数据库方式速查表 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用. 1.Oracle8/8i/9i数据库(thin模式) Class.forName

通过JDBC连接Oracle的十大灵活技术

oracle Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同.在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能. 1.在客户端软件开发中使用Thin驱动程序 在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件.applets.servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件.在客户机端软件的开发中

通过JDBC连接oracle数据库的十大技巧

oracle|技巧|数据|数据库 Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同.在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能. 1.在客户端软件开发中使用Thin驱动程序 在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件.applets.servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件.在

JDBC连接数据库之十大技巧

Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同.在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能. 1.在客户端软件开发中使用Thin驱动程序 在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件.applets.servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件.在客户机端软件的开发中,我们可以选择

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

[正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(b

JDBC连接数据库经验技巧(转)

  Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化.本文主要集合了不同数据库的连接方式. 一.连接各种数据库方式速查表 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用. 1.Oracle8/8i/9i数据库(thin模式) Class.forName("oracle