Java MySQL 批處理是一種高效的數據處理方式,它可以通過 Java 編程語言和 MySQL 數據庫技術來批量處理數據。下面介紹一些 Java MySQL 批處理的使用方法。
// 導入相關的庫 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class JdbcBatchTester { // 定義連接信息 private String url = "jdbc:mysql://localhost:3306/test"; private String username = "root"; private String password = "root"; // 定義 SQL 語句 private static final String SQL_INSERT = "INSERT INTO user(name, age, gender) VALUES (?, ?, ?)"; public void batchInsert() { Connection connection = null; PreparedStatement ps = null; try { // 獲取 JDBC 連接 connection = DriverManager.getConnection(url, username, password); // 關閉事務自動提交 connection.setAutoCommit(false); // 創建 PreparedStatement 對象 ps = connection.prepareStatement(SQL_INSERT); // 循環執行批量操作 for (int i = 0; i< 100000; i++) { ps.setString(1, "user-" + i); ps.setInt(2, i); ps.setString(3, i % 2 == 0 ? "male" : "female"); ps.addBatch(); if ((i + 1) % 1000 == 0) { // 當達到批量大小時,提交事務 ps.executeBatch(); ps.clearBatch(); connection.commit(); } } // 提交剩余的數據 ps.executeBatch(); ps.clearBatch(); connection.commit(); } catch (SQLException e) { e.printStackTrace(); } finally { // 關閉資源 try { if (ps != null) { ps.close(); } if (connection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }
上面的代碼展示了一個簡單的 JDBC 批處理示例,該程序可以將數據批量插入表中,可以顯著提高處理效率。由于批量執行的機制,整個過程可以在事務內完成,使用 Rollback 可以迅速地回滾。批處理還可以用于更新操作和刪除操作。