jdbc 多线程执行多条sql
时间: 2023-08-05 21:35:32 浏览: 164
可以使用Java的线程池来实现多线程执行多条SQL语句。具体步骤如下:
1. 创建一个线程池,例如使用Java的ThreadPoolExecutor类。
2. 将需要执行的SQL语句放入一个List中。
3. 创建一个Runnable对象,该对象的run方法中执行SQL语句。
4. 将Runnable对象放入线程池中执行。
5. 等待所有线程执行完毕,关闭线程池。
下面是示例代码:
```java
// 创建线程池
ExecutorService executor = Executors.newFixedThreadPool(10);
// SQL语句列表
List<String> sqlList = new ArrayList<>();
sqlList.add("INSERT INTO user(name, age) VALUES('Tom', 20)");
sqlList.add("INSERT INTO user(name, age) VALUES('Jack', 22)");
// 执行SQL语句的Runnable对象
Runnable task = new Runnable() {
@Override
public void run() {
try {
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
for (String sql : sqlList) {
stmt.executeUpdate(sql);
}
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
};
// 将任务提交到线程池中执行
executor.submit(task);
// 关闭线程池
executor.shutdown();
```
在上面的示例代码中,我们创建了一个包含10个线程的线程池,将需要执行的SQL语句放入了一个List中,然后创建了一个Runnable对象,在该对象的run方法中执行SQL语句。最后将任务提交到线程池中执行,并等待所有线程执行完毕后关闭线程池。
阅读全文