更新時(shí)間:2022-08-25 來(lái)源:黑馬程序員 瀏覽量:
當(dāng)向數(shù)據(jù)庫(kù)發(fā)送多條不同的SQL語(yǔ)句時(shí),可以使用Statement實(shí)現(xiàn)批處理。Statement通過(guò)addBatch()方法添加一條SQL語(yǔ)句,通過(guò)executeBatch()方法批量執(zhí)行SQL語(yǔ)句。為了幫助大家更好地學(xué)習(xí)如何使用Statement實(shí)現(xiàn)批處理,下面通過(guò)一個(gè)案例來(lái)演示。
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 { //加載數(shù)據(jù)庫(kù)驅(qū)動(dòng) conn=JDBCUtils.getConnection(); stmt=conn.createStatement (); //SQL語(yǔ)句 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語(yǔ)句 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); } } }程序運(yùn)行過(guò)程中,Statement會(huì)將4條SQL語(yǔ)句提交給數(shù)據(jù)庫(kù)一起執(zhí)行。為了驗(yàn)證上述中的SQL語(yǔ)句是否執(zhí)行成功,進(jìn)入MySQL,使用SELECT語(yǔ)句查看school表,SQL語(yǔ)句的執(zhí)行結(jié)果如下所示。
mysql>select * from school; +-------+-----------+ | id | name | +-------+-----------+ | 1 | 傳智播客 | +-------+-----------+ I row in set (0.00 sec)從上述結(jié)果可以看出,school表存在,并且向表中添加了一條數(shù)據(jù),該數(shù)據(jù)的id被成功修改成了1。