Java 如何实现数据批量插入
时间: 2024-03-16 09:41:37 浏览: 52
批量插入数据库方法
Java 中可以使用 JDBC(Java Database Connectivity)来实现数据的批量插入。具体操作步骤如下:
1. 建立数据库连接;
2. 创建 PreparedStatement 对象,使用 SQL 语句创建;
3. 使用 PreparedStatement 的 addBatch() 方法添加多条 SQL 语句;
4. 使用 PreparedStatement 的 executeBatch() 方法执行批量操作;
5. 提交事务;
6. 关闭 PreparedStatement 和数据库连接。
下面是一个示例代码,假设要将多个用户信息批量插入到数据库中:
```java
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 建立数据库连接
conn = DriverManager.getConnection(url, user, password);
// 创建 PreparedStatement 对象
String sql = "INSERT INTO user (id, name, age) VALUES (?, ?, ?)";
pstmt = conn.prepareStatement(sql);
// 添加多条 SQL 语句
for (User user : users) {
pstmt.setInt(1, user.getId());
pstmt.setString(2, user.getName());
pstmt.setInt(3, user.getAge());
pstmt.addBatch();
}
// 执行批量操作
int[] results = pstmt.executeBatch();
// 提交事务
conn.commit();
} catch (SQLException e) {
// 回滚事务
conn.rollback();
e.printStackTrace();
} finally {
// 关闭 PreparedStatement 和数据库连接
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
```
其中,users 是一个 User 对象的集合,表示多个用户信息。在添加 SQL 语句时,使用 PreparedStatement 的 setXXX() 方法设置占位符的值,然后使用 addBatch() 方法添加到批量操作中。执行 executeBatch() 方法后,会返回一个 int 数组,表示每个 SQL 语句执行的结果。最后,需要提交事务并关闭 PreparedStatement 和数据库连接。
阅读全文