更新時(shí)間:2022-08-25 來(lái)源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
當(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。