我想應用Java Concurrent即Callable for resultset。場景是 -JDBC上的Java併發結果
- 使用JDBC查詢數據庫。
- 將結果集發送到可調用以寫入不同的文件。
由於數據會很大,我想結果集。請幫助我爲問題找到更好的方法。
我想應用Java Concurrent即Callable for resultset。場景是 -JDBC上的Java併發結果
由於數據會很大,我想結果集。請幫助我爲問題找到更好的方法。
由於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
}
});
}
}
);
我不明白你的問題是什麼。你可以通過Future返回結果集,不是嗎?亞當給了我點亮。我同意他的觀點。 – Fildor