MySQL addBatch 是一種批量插入數據的方法,能夠大大提高插入數據效率。
addBatch 方法將多個 SQL 語句存儲在一個數組中,并將它們一次性發送到 MySQL 服務器,從而減少了與服務器的通信次數,提高了數據插入的效率。
使用 addBatch 的前提是首先需要創建一個 Statement 對象,然后通過 addBatch 方法向 Statement 對象中添加 SQL 語句,最后使用 executeBatch 方法執行 SQL 語句。
以下是 addBatch 方法的示例代碼:
Connection conn = null; Statement stmt = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); conn.setAutoCommit(false); stmt = conn.createStatement(); stmt.addBatch("INSERT INTO student VALUES (1001, 'John', 18)"); stmt.addBatch("INSERT INTO student VALUES (1002, 'Mike', 19)"); stmt.addBatch("INSERT INTO student VALUES (1003, 'Mary', 20)"); int[] count = stmt.executeBatch(); conn.commit(); } catch (Exception e) { conn.rollback(); } finally { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } }
上面的代碼中,我們首先創建了一個 Connection 對象和一個 Statement 對象,然后通過 addBatch 方法向 Statement 對象中添加了三條 SQL 語句,最后使用 executeBatch 方法執行 SQL 語句。
如果執行成功,executeBatch 方法將返回一個記錄的數組,數組中的每個元素表示一條 SQL 語句的執行結果。
需要注意的是,在使用 addBatch 方法之前,我們需要將數據庫連接的自動提交功能關閉,然后在執行完所有的 SQL 語句之后,再手動提交事務,以免數據出現異常。