JDBC查询多个数据库

时间:2012-02-13 12:52:01

标签: java jdbc parallel-processing

我想要做的是查询N个数据库,并通过JDBC将结果存储在特定于每个数据库的文件中。我正在考虑并行执行查询并通过线程池进行思考,但这是可扩展的吗?有没有更好的方法(演员模型)?

感谢。

1 个答案:

答案 0 :(得分:1)

是的,它是可扩展的。总有更好的方法,但您需要确保最简单的方法适合您的需求。如果没有,那么就寻求更好的方法。

另一种方法根本不必复杂。

// initialize an executor service
ExecutorService executor = Executors.newCachedThreadPool();

// externalize the access to every database in a method declared in a class
// that implements Runnable
class Oracle implements Runnable {
  @Override
  public void run() {
    // load the driver
    // prepare the statement
    // get the connection
    // execute the statement and get the results
    // save the results to a file
  }
}

// execute every db access withing the executor
executor.execute(new Oracle());
executor.execute(new SqlServer());
executor.execute(new MySql());