Java与MySQL的大量数据插入操作涉及数据库事务处理、批量插入优化以及JDBC(Java Database Connectivity)的使用。在Java中,通过JDBC API可以连接到MySQL数据库并执行SQL语句。
适用于需要快速导入大量数据到MySQL数据库的场景,如数据迁移、日志记录、批量数据初始化等。
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO table_name (column1, column2) VALUES (?, ?)")) {
conn.setAutoCommit(false); // 关闭自动提交
for (int i = 0; i < dataList.size(); i++) {
pstmt.setString(1, dataList.get(i).getColumn1());
pstmt.setString(2, dataList.get(i).getColumn2());
pstmt.addBatch(); // 添加到批处理
if (i % 1000 == 0) { // 每1000条提交一次
pstmt.executeBatch(); // 执行批处理
conn.commit(); // 提交事务
pstmt.clearBatch(); // 清空批处理
}
}
pstmt.executeBatch(); // 执行剩余的批处理
conn.commit(); // 提交事务
} catch (SQLException e) {
e.printStackTrace();
}通过以上方法和优化策略,可以有效地提高Java与MySQL大量数据插入的性能和稳定性。