我需要完成以下操作:如何在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()'。 –