首頁(yè)技術(shù)文章正文

如何使用Statement實(shí)現(xiàn)批處理?

更新時(shí)間:2022-08-25 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

當(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。





分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!