更新时间:2022-08-25 来源:黑马程序员 浏览量:
当向数据库发送多条不同的SQL语句时,可以使用Statement实现批处理。Statement通过addBatch()方法添加一条SQL语句,通过executeBatch()方法批量执行SQL语句。为了帮助大家更好地学习如何使用Statement实现批处理,下面通过一个案例来演示。
Example10.java
package cn.itcast.jdbc.exanple; inport java.sql.Connection; inport java.sgl.Statenent; inport cn.itcast.jdbc.example.utils.JDBCUtils; public class Example10 ( public static void main (String[] args) { Connection conn=null; Statement stmt=nul1; try { //加载数据库驱动 conn=JDBCUtils.getConnection(); stmt=conn.createStatement (); //SQL语句 String sgl1="DROP TABLE IF EXISTS school"; String sql2="CREATE TABLE school(id int,name varchar(20))"; String sql3="INSERT INTO school VALUES(2,'传智播客')"; String aql4="UPDATE school SET id=1"; //Statement 批处理 sQL语句 stmt.addBatch(sql1); stmt.addBatch(sq12); stmt.addBatch(sq13); stmt.addBatch(sql4); stmt.executeBatch(); } catch (Exception e) { e.printStackTrace(); }finally{ //释放资源 ARpCUtils.release(nul1, stmt, conn); } } }程序运行过程中,Statement会将4条SQL语句提交给数据库一起执行。为了验证上述中的SQL语句是否执行成功,进入MySQL,使用SELECT语句查看school表,SQL语句的执行结果如下所示。
mysql>select * from school; +-------+-----------+ | id | name | +-------+-----------+ | 1 | 传智播客 | +-------+-----------+ I row in set (0.00 sec)从上述结果可以看出,school表存在,并且向表中添加了一条数据,该数据的id被成功修改成了1。