我需要完成以下操作:如何在Java上爲每個字段的變量保存查詢結果?
1.-將查詢結果(Oracle DB)的每個字段保存在不同的變量中。
查詢結果可能會多出1行(5個平均值)。
2.-調用每行的WebService。
4.-等待WebService答案,然後重複該過程。
我認爲保存1行的結果,然後調用WebService很容易,但問題是當查詢結果拋出多於1行。
我該怎麼做?是Arraylist答案?
編輯:我使用下面的代碼。如何打印數組列表以查看連接是否正常工作? 如果我運行此我得到:
[email protected]
[email protected]
[email protected]
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
List<SomeBean> v = new ArrayList<SomeBean>();
String query = "select * from table where ROWNUM BETWEEN 1 and 3";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:user/[email protected]:port:SID");
stmt = con.createStatement();
rs = stmt.executeQuery(query);
while(rs.next()){
SomeBean n = new SomeBean();
n.setColumn1(rs.getInt("column1"));
n.setColumn2(rs.getString("column2"));
n.setColumn3(rs.getString("column3"));
n.setColumn4(rs.getInt("column4"));
n.setColumn5(rs.getString("column5"));
n.setColumn6(rs.getString("column6"));
n.setColumn7(rs.getString("column7"));
...
v.add(n);
}
for(SomeBean s : v){
System.out.println(s);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
我已經搞清楚了與數據庫的連接。我有數據列表問題。您的代碼段將非常有用。非常感謝。 @ giuseppe-marra – Rodrick
我正在使用您發佈的代碼。但我不知道如何打印數組列表。如何打印數組列表?對不起,我是一個n00b。我添加了有問題的代碼。 – Rodrick
如果要打印對象,則需要覆蓋對象的'toString()'。 –