java 批量写入mysql
时间: 2023-09-15 19:14:53 浏览: 110
Java实现批量向mysql写入数据的方法
要使用Java进行批量写入MySQL,可以使用JDBC批处理功能。以下是一个简单的示例代码,用于批量插入数据到MySQL表中:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class BatchInsertExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try {
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "INSERT INTO mytable (column1, column2) VALUES (?, ?)"; // 插入语句
PreparedStatement statement = conn.prepareStatement(sql);
// 开始批处理
conn.setAutoCommit(false);
// 循环添加参数
for (int i = 0; i < 1000; i++) {
statement.setString(1, "value" + i);
statement.setString(2, "value" + (i+1));
statement.addBatch(); // 添加到批处理中
}
// 执行批处理
int[] rowsInserted = statement.executeBatch();
// 提交事务
conn.commit();
System.out.println("成功插入 " + rowsInserted.length + " 行数据");
// 关闭连接和语句
statement.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
上述代码将使用批量处理将1000行数据插入名为`mytable`的MySQL表中。在循环中,通过`addBatch()`方法将每一行的参数添加到批处理中,最后使用`executeBatch()`方法执行批处理。在所有数据插入完成后,通过调用`commit()`方法提交事务。
请注意,上述代码中的URL、用户名和密码需要根据您的实际情况进行修改。还需要确保项目中已经添加了适当的MySQL驱动程序依赖。
希望对您有所帮助!如有任何疑问,请随时提问。
阅读全文