MySQL是一種常用的關系型數據庫管理系統。MySQL的BatchUpdate是一種常用的操作方式,可以在一次操作中批量提交多條SQL語句,從而提高數據操作的效率。
// 示例代碼 String[] sqls = new String[2]; sqls[0] = "UPDATE user SET age = 18 WHERE id = 1"; sqls[1] = "UPDATE user SET age = 20 WHERE id = 2"; Connection conn = null; PreparedStatement ps = null; try { conn = getConnection(); conn.setAutoCommit(false); ps = conn.prepareStatement(""); for (String sql : sqls) { ps.addBatch(sql); } int[] result = ps.executeBatch(); conn.commit(); for (int i : result) { System.out.println(i); } } catch (SQLException e) { e.printStackTrace(); try { conn.rollback(); } catch (SQLException ex) { ex.printStackTrace(); } } finally { close(conn, ps, null); }
在上述示例代碼中,我們首先創建了一個String類型的數組sqls,分別存儲了兩條要執行的SQL語句。然后創建了Connection和PreparedStatement對象,通過getConnection()方法獲取數據庫連接,使用setAutoCommit(false)方法關閉自動提交事務。
接下來,我們通過for循環遍歷sqls數組,將每條SQL語句添加到PreparedStatement對象中,使用addBatch()方法實現。在for循環結束后,使用executeBatch()方法執行批量更新操作,并將返回值存儲在int類型的result數組中。
最后,使用commit()方法提交事務,并輸出result數組中每個元素的值,最后關閉連接。