java实现用List向SQL批量添加数据
时间: 2024-04-08 19:30:34 浏览: 202
批量添加字段.sql
要在Java中使用List批量向SQL添加数据,您可以使用Java的JDBC(Java Database Connectivity)API。以下是一个简单的示例代码,演示如何使用JDBC将List中的数据批量插入到数据库:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
public class DatabaseBatchInsert {
public static void main(String[] args) {
// 数据库连接参数
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "your-username";
String password = "your-password";
// SQL插入语句
String sql = "INSERT INTO mytable (column1, column2) VALUES (?, ?)";
// 准备待插入的数据列表
List<String> values1 = List.of("value1", "value2");
List<String> values2 = List.of("value3", "value4");
List<List<String>> data = List.of(values1, values2);
try {
// 建立数据库连接
Connection connection = DriverManager.getConnection(url, username, password);
// 创建PreparedStatement对象
PreparedStatement statement = connection.prepareStatement(sql);
// 开启批处理模式
connection.setAutoCommit(false);
// 遍历数据列表,设置参数并添加到批处理中
for (List<String> row : data) {
statement.setString(1, row.get(0));
statement.setString(2, row.get(1));
statement.addBatch();
}
// 执行批处理操作
int[] rowsInserted = statement.executeBatch();
System.out.println("插入了 " + rowsInserted.length + " 行数据");
// 提交事务
connection.commit();
// 关闭资源
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,您需要将`url`、`username`和`password`替换为您自己的数据库连接参数。同时,根据您的需求修改SQL插入语句中的表名和列名。然后,您可以使用List来存储待插入的数据,其中每个List表示一行数据,然后遍历数据列表,将每行数据的值设置为PreparedStatement对象的参数,并使用`addBatch()`方法将其添加到批处理中。最后,调用`executeBatch()`方法执行批处理操作,并将返回的数组表示插入的行数。记得在最后提交事务并关闭资源。
阅读全文