我想为结果集应用 Java Concurrent ie Callable。情景是——
- 使用 JDBC 查询数据库。
- 将结果集发送到可调用以写入不同的文件。
由于数据很大,我想结果集。请帮助我为问题找到更好的方法。
我想为结果集应用 Java Concurrent ie Callable。情景是——
由于数据很大,我想结果集。请帮助我为问题找到更好的方法。
由于 ResultSet 的设计方式,它不应该被许多线程同时使用。但是您可以创建一个遍历结果集的线程并将行数据发送到 Callables,后者将对每一行(或一组行)执行进一步的处理。
我想你是在 swing 或 javaFX 下编程,然后你阻塞了 GUI 线程。
因此,您必须创建另一个线程来处理 jdbc 请求,并显示“请稍候”消息。
做这样的事情:
new Thread(new Runnable(){
void run(){
final result = jdbc.getResultSet();
// Under JavaFX 2
Platform.runLater( new Runnable() {
public void run() {
//Show results
}
} );
// Under Swing
SwingUtilities.invokeLater(new Runnable() {
public void run() {
//Show results
}
});
}
}
);