executeBatch()方法返回一个更新计数的数组,每个值对应于批处理操作中的一个命令。批处理操作可能会抛出一个类型为
BatchUpdateException的异常,这个异常表明批处理操作中至少有一条命令失败了。
int[] executeBatch() throws SQLException
将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。返回数组的 int 元素的排序对应于批中的命
令,批中的命令根据被添加到批中的顺序排序。方法executeBatch 返回的数组中的元素可能为以下元素之一:
大于等于 0 的数 - 指示成功处理了命令,是给出执行命令所影响数据库中行数的更新计数
SUCCESS_NO_INFO 的值 - 指示成功执行了命令,但受影响的行数是未知的
如果批量更新中的命令之一无法正确执行,则此方法抛出 BatchUpdateException,并且 JDBC 驱动程序可能继续处理批处理中的剩
余命令,也可能不执行。无论如何,驱动程序的行为必须与特定的DBMS 一致,要么始终继续处理命令,要么永远不继续处理命
令。如果驱动程序在某一次失败后继续进行处理,则BatchUpdateException.getUpdateCounts 方法返回的数组将包含的元素与批中
存在的命令一样多,并且其中至少有一个元素将为:
EXECUTE_FAILED 的值 - 指示未能成功执行命令,仅当命令失败后驱动程序继续处理命令时出现
在 Java 2 SDK, Standard Edition, 1.3 版中已经修改了可能的实现和返回值,以适应抛出 BatchUpdateException 对象后在批量更新
中继续处理命令的选项。
返回:包含批中每个命令的一个元素的更新计数所组成的数组。数组的元素根据将命令添加到批中的顺序排序。
抛出:SQLException - 如果发生数据库访问错误,在已关闭的Statement 上调用此方法,或者驱动程序不支持批量语句。如果未能
正确执行发送到数据库的命令之一或者尝试返回结果集合,则抛出BatchUpdateException(SQLException 的子类)。
其中整形常量的值分别为:
SUCCESS_NO_INFO -2
EXECUTE_FAILED -3
示例:
try {
Connection con = null;
con.setAutoCommit(false);
PreparedStatement prepStmt = con
.prepareStatement("UPDATE DEPT SET MGRNO=? WHERE DEPTNO=?");
prepStmt.setString(1, "1");
prepStmt.setString(2, "2");
prepStmt.addBatch();
prepStmt.setString(1, "2");
prepStmt.setString(2, "3");
prepStmt.addBatch();
int[] numUpdates = prepStmt.executeBatch();
for (int i = 0; i < numUpdates.length; i++) {
if (numUpdates[i] == -2)
System.out.println("Execution " + i
+ ": unknown number of rows updated");
else
System.out.println("Execution " + i + "successful: "
+ numUpdates[i] + " rows updated");
}
con.commit();
} catch (BatchUpdateException b) {
} catch (SQLException e) {
e.printStackTrace();
}
分享到:
相关推荐
JAVAEE中有关JDBC使用的说明书
JavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源...
jdbc 开发必备 数据库操作
javaee-jdbc jdbc programing acid commit rollback
1、掌握Spring JDBC的配置; 2、掌握JdbcTemplae类中增删改查方法的使用; 3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握基于XML和Annotation的声明式事务管理的使用。 二、 ...
本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。...
JavaEE+JDBC+Servlet+EL表达式的员工信息管理系统 本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目源码系统完整,内容都是经过专业老师审定过的,基本能够满足学习、使用...
基于JAVAEE的JDBC小实验,希望能对大家有所帮助!!!
JavaEE+JDBC+Servlet+EL表达式的员工信息管理系统源码+数据库+项目说明(高分课设).zip # :heart: JavaEE+JDBC+Servlet+EL表达式的员工信息管理系统 ## 介绍 简易的员工管理系统,包括信息的增删改查,新增员工...
JavaEE_WebApp_JDBC.zip
javaee 实验报告 实验一 JSP+Servlet+Javabean+jdbc-基于MVC模式的数据库的应用 实验二 JSF+JPA实现用户注册 实验三 struts+spring+hibernate框架访问数据库的应用 实验四 使用WebService和EJBean访问数据库的应用
JavaEE课程设计:票据管理系统源码 JavaEE课程设计:票据管理系统源码 JavaEE课程设计:票据管理系统源码 JavaEE课程设计:票据管理系统源码 JavaEE课程设计:票据管理系统源码 JavaEE课程设计:票据管理系统...
可以直接使用,配有使用说明,是基于JavaEE做的MVC分层学生信息管理系统,有管理员和普通学生两个用户,拥有不同的权限。
《JavaEE编程课程设计》期末项目报告书.docx《JavaEE编程课程设计》期末项目报告书.docx《JavaEE编程课程设计》期末项目报告书.docx《JavaEE编程课程设计》期末项目报告书.docx《JavaEE编程课程设计》期末项目报告书...
Javaee实习包含详细代码,实验步骤,学习Servlet的编写、使用JDBC访问数据库;Servlet及过滤器,包含配置截图