学科分类
目录
Java Web

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。

点击此处
隐藏目录