Java如何实现批量导入数万条数据
时间: 2024-05-05 13:22:24 浏览: 108
Java可以通过JDBC来实现批量导入数万条数据,具体步骤如下:
1. 创建数据库连接,通过JDBC获取Connection对象。
2. 创建PreparedStatement对象,使用SQL语句预编译。
3. 使用addBatch()方法向PreparedStatement中添加批量数据。
4. 调用executeBatch()方法执行批量操作。
5. 关闭PreparedStatement和Connection对象。
示例代码如下:
```java
String sql = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)";
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DriverManager.getConnection(url, username, password);
ps = conn.prepareStatement(sql);
for(int i=0; i<dataList.size(); i++) {
Data data = dataList.get(i);
ps.setString(1, data.getColumn1());
ps.setString(2, data.getColumn2());
ps.setString(3, data.getColumn3());
ps.addBatch();
if(i % 1000 == 0) { // 每1000条数据执行一次批量操作
ps.executeBatch();
}
}
ps.executeBatch(); // 执行剩余的数据
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null) {
ps.close();
}
if(conn != null) {
conn.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
```
需要注意的是,每次执行批量操作的数据量应该控制在一个合适的范围内,避免一次性导入过多数据导致内存溢出或数据库负载过高等问题。
阅读全文