Statement批处理
当向数据库发送多条不同的SQL语句时,可以使用Statement实现批处理。Statement通过addBatch()方法添加一条SQL语句,通过executeBatch()方法批量执行SQL语句。
为了大家更好地学习如何使用Statement实现批处理,接下来,通过一个案例来演示,如例1所示。
例1 Example10.java
 1   package cn.itcast.jdbc.example;
 2   import java.sql.Connection;
 3   import java.sql.Statement;
 4   import cn.itcast.jdbc.example.utils.JDBCUtils;
 5   public class Example10 {
 6     public static void main(String[] args) {
 7       Connection conn = null;
 8       Statement stmt = null;
 9       try {
 10        // 加载数据库驱动
 11        conn=JDBCUtils.getConnection();
 12        stmt = conn.createStatement();
 13        // SQL语句
 14      String sql1 = "DROP TABLE IF EXISTS school";
 15     String  sql2 = "CREATE TABLE school(id int,name varchar(20))";
 16      String sql3 = "INSERT INTO school VALUES(2,'传智播客')";
 17      String sql4 = "UPDATE school SET id = 1";
 18        // Statement批处理sql语句
 19        stmt.addBatch(sql1);
 20        stmt.addBatch(sql2);
 21        stmt.addBatch(sql3);
 22        stmt.addBatch(sql4);
 23         stmt.executeBatch();
 24      } catch (Exception e) {
 25        e.printStackTrace();
 26      } finally { // 释放资源
 27        JDBCUtils.release(null, stmt, conn);
 28      }
 29    }
 30  }程序运行过程中,Statement会将4条SQL语句提交给数据库一起执行。为了验证例1中的SQL语句是否执行成功,进入MySQL,使用SELECT语句查看school表,SQL语句的执行结果如下所示:
mysql> select * from school;
+------+----------+
| id  | name   |
+------+----------+
|  1 | 传智播客 |
+------+----------+
1 row in set (0.00 sec)从上述结果可以看出,school表存在,并且向表中添加了一条数据,该数据的id被成功修改成了1。










