写出jdbc批量增删改数据库的数据的代码
时间: 2023-12-07 08:03:00 浏览: 82
当我在前面说了什么时, 为什么狗会汪汪叫?
以下是 Java JDBC 批量增删改数据库操作的代码示例:
// 假设有一个名为 "users" 的表
// 数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
// 要执行的 SQL 语句
String insertSql = "INSERT INTO users (name, age) VALUES (?, ?)";
String updateSql = "UPDATE users SET age = ? WHERE id = ?";
String deleteSql = "DELETE FROM users WHERE id = ?";
// 创建 PreparedStatement 对象
PreparedStatement insertStmt = conn.prepareStatement(insertSql);
PreparedStatement updateStmt = conn.prepareStatement(updateSql);
PreparedStatement deleteStmt = conn.prepareStatement(deleteSql);
// 批量插入多条数据
insertStmt.setString(1, "Alice");
insertStmt.setInt(2, 18);
insertStmt.addBatch();
insertStmt.setString(1, "Bob");
insertStmt.setInt(2, 20);
insertStmt.addBatch();
insertStmt.setString(1, "Charlie");
insertStmt.setInt(2, 22);
insertStmt.addBatch();
// 批量更新多条数据
updateStmt.setInt(1, 25);
updateStmt.setInt(2, 1);
updateStmt.addBatch();
updateStmt.setInt(1, 22);
updateStmt.setInt(2, 2);
updateStmt.addBatch();
// 批量删除多条数据
deleteStmt.setInt(1, 3);
deleteStmt.addBatch();
deleteStmt.setInt(1, 4);
deleteStmt.addBatch();
// 执行批量操作
int[] insertCounts = insertStmt.executeBatch();
int[] updateCounts = updateStmt.executeBatch();
int[] deleteCounts = deleteStmt.executeBatch();
// 关闭资源
insertStmt.close();
updateStmt.close();
deleteStmt.close();
conn.close();
上述代码示例中,我们首先获取了一个 MySQL 数据库连接对象,然后创建了三个 PreparedStatement 对象分别用于执行插入、更新和删除操作。接着,我们使用 PreparedStatement 的 addBatch() 方法向批处理中添加多条记录,最后使用 executeBatch() 方法执行批量操作并获取每次操作所影响的行数。最后,我们关闭了资源。
阅读全文