public static List<String> getSystemParaList() throws SQLException{
List out_list = new ArrayList();
DbUtils.loadDriver("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl", "bshare", "bshare");
String sql = "select PARA_NAME,PARA_SYS_DEFAULT_VALUE,PARA_USER_SET_VALUE from T_LX_SYS_PARAMETER_REG where PARA_SYSTEM like ?";
PreparedStatement prep = conn.prepareStatement(sql);
prep.setString(1,"LX%");
ResultSet rs = prep.executeQuery();
//ResultSetMetaData rsmd = prep.getParameterMetaData();
//int column = rs.getMetaData();
// ResultSetMetaData rsmd = rs.getMetaData();
// int colum = rsmd.getColumnCount();
while(rs.next()){
// String str[] = new String[colum];
out_list.add(rs.getString("PARA_NAME"));
out_list.add(rs.getDouble("PARA_SYS_DEFAULT_VALUE"));
out_list.add(rs.getDouble("PARA_USER_SET_VALUE"));
//将这三个值作为一个对象存入一个数组中
}
prep.close();
conn.close();
return out_list;
}
定义一个数组存放PARA_NAME、PARA_SYS_DEFAULT_VALUE、PARA_USER_SET_VALUE这三个对象的值
out_list.get(currentSize -1)这个是什么意思。out_list中存放的是查询出来的三个字段的值,共有24条记录,即72个值。数组中每个对象应该有24个值
追答那你只能在外部处理了
List out_list = new ArrayList();
for(int i= 0; i < 72; i++){
out_list.add(i);
}
Object[] ary1 = out_list.subList(0, 24).toArray(new Object[0]);
Object[] ary2 = out_list.subList(24, 48).toArray(new Object[0]);
Object[] ary3 = out_list.subList(48, 72).toArray(new Object[0]);
while(rs.next()){ out_list.add(rs.getString("PARA_NAME"));
out_list.add(rs.getDouble("PARA_SYS_DEFAULT_VALUE"));
Object[] str = out_list.toArray(new Object[]{rs.getString("PARA_NAME"),rs.getDouble("PARA_SYS_DEFAULT_VALUE")});
System.out.println(str[0]); }
输出:
LX_SEC_RULE_PRICE_FLUCTUATION
…共24条相同此记录…
为什么只输出第一条数据,应该是24条不同的数据才对,错在哪了?
具体你自己debug一下了,估计在你while循环里面的问题
本回答被提问者采纳