批处理,英文叫 Batch,顾名思义就是成批地处理某些事务。对于频繁访问数据库的程序而言,选择批处理是最合适不过的了。本文将介绍如何利用 JDBC 实现批处理。
一、什么是批处理
屁处理是指一次性执行多条SQL语句,并且在执行过程中,如果某条语句出现错误,则仅停止该错误语句的执行,而批处理中其他所有语句则继续执行。这是有别与事务处理 (事务处理的详情参见《JDBC进阶之事务处理基本原理及示例》) 的,事务处理一旦出现错误,则全部都取消执行并进行回滚。
JDBC API 中提供了批处理的机制,可以让 Statement 同时执行多个 SQL 语句,以提高操作数据库的性能。
二、利用JDBC 实现批处理的基本步骤
1)创建 Connection 对象,利用 Connection 对象创建 Statement 对象;
2)判断是否支持批处理;
3)取消 Connection 对象的自动提交模式;
4)使用 Statement 对象的增加批处理语句的 addBatch() 方法;
5)使用 Statement 对象执行批处理的 executeBatch() 方法批处理执行多条添加到 Statement 对象中的 SQL 语句;
6)关闭连接;
三、批处理应用示例
根据上述的基本概念和使用方法,接下来通过一个具体的实例来体会上述知识,加深理解。根据利用 JDBC 实现批处理的基本步骤,接下来的示例中对应上述每个步骤的代码片段分解如下:
1)利用 JDBC 连接数据库,并创建 Connection 对象。这个问题在之前的几篇文章都在重复,不明白之处可前去参考《JDBC连接MySQL数据库及示例》。代码片段如下:
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/myuser", "root", "root");
Statement sm = con.createStatement();
2)判断当前使用的JDBC驱动程序和数据库是否批处理。代码片段如下: