将一个list批量添加到数据库,java实现
时间: 2023-06-01 20:06:53 浏览: 294
mybatis 批量将list数据插入到数据库的实现
可以使用Java中的JDBC连接数据库,并通过预编译的SQL语句实现批量插入。具体实现方式如下:
1. 通过JDBC连接数据库,获取连接对象。
2. 编写预编译的SQL插入语句。例如:INSERT INTO table_name (column1, column2, ...) VALUES (?, ?, ...)
3. 开启事务,并将autoCommit设置为false,以确保批量插入操作在同一事务中完成。
4. 创建PreparedStatement对象,并调用addBatch方法将每个list中的数据添加到批量操作中。
5. 调用executeBatch方法执行批量操作。
6. 提交事务,并将autoCommit设置为true,关闭连接对象。
示例代码如下:
```
// 1. 获取数据库连接对象
Connection conn = DriverManager.getConnection(url, username, password);
// 2. 编写SQL插入语句
String sql = "INSERT INTO table_name (column1, column2, ...) VALUES (?, ?, ...)";
// 3. 开启事务,并将autoCommit设置为false
conn.setAutoCommit(false);
// 4. 创建PreparedStatement对象,并将list中的数据批量添加到操作中
PreparedStatement pstmt = conn.prepareStatement(sql);
for (Object obj : list) {
// 将list中每个元素的值绑定到PreparedStatement中对应的参数上
pstmt.setXXX(index, obj);
// 将操作添加到批量操作中
pstmt.addBatch();
}
// 5. 执行批量操作
int[] result = pstmt.executeBatch();
// 6. 提交事务,并将autoCommit设置为true,关闭连接
conn.commit();
conn.setAutoCommit(true);
pstmt.close();
conn.close();
```
阅读全文