我正在開發一個多線程項目,我需要隨機找到columns
,我將在我的SELECT sql
中使用該數據,然後我將執行該SELECT sql查詢。循環結果集取決於生成的列數
尋找那些columns-
- 我需要看到的ID是否有效範圍之間,如果在有效範圍內之間,然後周圍的結果集循環中使用這些列從columnsList並獲得後數據返回並存儲在一個變量中。
- 否則,如果id不在有效範圍內,我需要檢查我沒有從結果集中取回任何數據。但不知何故,如果我得到的數據返回和標誌是真的停止程序,然後退出程序。否則,如果我得到的數據回來,但標誌是假的停止該程序,然後計數有多少這些發生。
下面是我的代碼 -
private volatile int count;
@Override
public void run() {
.....
final String columnsList = getColumns(table.getColumns());
....
rs = preparedStatement.executeQuery();
....
if (Read.endValidRange < id && id < Read.startValidRange) {
while (rs.next()) {
for(String column: columnsList.split(",")) {
System.out.println(column + ": " + rs.getString(column));
}
}
} else {
if(rs.next() && Read.flagTerminate) {
System.exit(1);
} else {
count++;
}
}
....
}
/**
* A simple method to get the column names in the order in which it was
* inserted
*
* @param columns
* @return
*/
private String getColumns(final List<String> columns) {
List<String> copy = new ArrayList<String>(columns);
Collections.shuffle(copy);
int rNumber = random.nextInt(columns.size());
List<String> subList = copy.subList(0, rNumber);
Collections.sort(subList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return columns.indexOf(o1) < columns.indexOf(o2) ? -1 : 1;
}
});
return StringUtils.join(subList, ",");
}
問題聲明 -
我不能夠理解我應該如何通過ResultSet,我將有不同列每次迭代我的SELECT sql取決於生成的內容。除此之外,我怎樣才能讓它在if循環中變得更清潔。
我的工作中,我需要隨機發現我需要列一個項目在我的SELECT SQL中使用,然後我將執行該查詢。 - 什麼? – Woot4Moo 2013-02-27 19:52:50
'否則,如果我得到的數據回來,但標誌是錯誤的停止該程序,然後計數有多少這些發生。「你在說什麼事情? – 2013-02-27 20:25:03
'否則,如果我得到的數據回來,但標誌是假的停止程序,然後數出有多少人已經發生。通過這個我試圖說只是計算這些潛在的情況。當程序結束時,然後從主線程打印出來。就這樣。 – AKIWEB 2013-02-27 20:26:37