【Java】JDBC之Statement類中“批處理”的綜合運用

來源:互聯網
上載者:User
文章目錄
  • 批處理 介紹
  • 批處理的模板代碼
  • 批處理在 JDBC 中的應用
批處理 介紹

Java 的批處理機制可以一次性執行多條 SQL 陳述式,效率更高。減少網路流量,速度更快。

通過調用方法 addBatch 可以批量執行此列表中的命令。

調用executeBatch()批量執行sql。

sql通常是insert 【插入】或 update 【更新】或 delete 【刪除】操作。

批處理的模板代碼

try {stmt = conn.createStatement();stmt.addBatch("insert into …."); stmt.addBatch("update B ….");stmt.executeBatch(); //執行批處理} catch (Exception e) {e1.printStackTrace();} finally {factory.close(null, stmt, conn);}

批處理在 JDBC 中的應用

如下方法可以批量執行多條非查詢類 SQL 陳述式,可以協助我們在 Java 更快捷進行資料庫的處理工作。

方法的傳回值為一個 int 類型的數組,該數組用於判斷 SQL 陳述式是否執行成功。(返回 1 則證明執行成功)

/** 批處理:批量執行SQL語句 */public int[] BatchTest(String[] sqlArr) {int arr[] = null;getConnection();try {statement = connection.createStatement();if (sqlArr!=null && sqlArr.length>0) {for (int i = 0; i < sqlArr.length; i++) {statement.addBatch(sqlArr[i]);}}arr = statement.executeBatch();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {close();}return arr;}

運用範例

//批處理的應用JDBC_BaseDAO jDemo1 = new JDBC_BaseDAO();String[] sqls = new String[10];sqls[0]="insert into t_userr(username,password) values('s141f','123');";sqls[1]="insert into t_userr(username,password) values('sg412sf','22352');";sqls[2]="insert into t_userr(username,password) values('sd124f','325');";sqls[3]="INSERT INTO t_userr(username,password,sex) values('1jj','11','n');";sqls[4]="insert into t_userr(username,password) values('s234d14f','6252');";sqls[5]="UPDATE t_userr SET ruxueYear='2000',home='浙江杭州' WHERE username='1jj';";int[] arr = jDemo1.BatchTest(sqls);for(int a:arr){System.out.println(a);}

在以上代碼中,運用了一個自行定義的 方法close()

代碼如下

/** 關閉並釋放資源 */public void close(){try {if(statement!=null){statement.close();statement = null;}if(pStatement!=null){pStatement.close();pStatement = null;}if(connection!=null){connection.close();connection = null;}} catch (Exception e) {System.out.println("資料庫close異常");}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.