java 链接mysql进行批量删除
时间: 2023-10-18 18:14:01 浏览: 104
java批量删除
你可以使用 JDBC API 来连接 MySQL 数据库,并使用批处理(Batch)技术来进行批量删除。以下是一个示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class BatchDeleteExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "username";
String password = "password";
String sql = "DELETE FROM mytable WHERE id = ?";
int[] idsToDelete = {1, 2, 3, 4, 5};
try (Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
for (int id : idsToDelete) {
pstmt.setInt(1, id);
pstmt.addBatch();
}
int[] results = pstmt.executeBatch();
System.out.println("Deleted " + results.length + " rows.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们首先定义了要连接的 MySQL 数据库的 URL、用户名和密码。然后,我们定义了要执行的 SQL 语句,其中 `?` 表示要删除的记录的 ID。接下来,我们定义了要删除的记录的 ID 数组。在 `try` 块中,我们使用 `DriverManager.getConnection()` 方法来获取与数据库的连接。然后,我们使用 `conn.prepareStatement()` 方法来创建一个预编译的 `PreparedStatement` 对象。接着,我们使用 `pstmt.setInt()` 方法来设置 `?` 的值,并使用 `pstmt.addBatch()` 方法将该语句添加到批处理中。最后,我们使用 `pstmt.executeBatch()` 方法来执行批处理,并返回一个整数数组,表示每个语句的执行结果。我们可以通过检查该数组的长度来确定删除了多少行。在 `catch` 块中,我们简单地打印了异常堆栈跟踪。
阅读全文