SELECT col_name1, col_name2, col_name3 from Table_Name;
我正在使用上面的SQL查询,并且我必须获取col_name3中具有超过5个值的所有值。
我在用 :
while(rs.next()){
String value1 = rs.getString("col_name3");
String value2 = rs.getString("col_name3");
}
但是字符串value1和value2中的所有值都是col_name3的最后一个值。为什么?
如果您只想获取一列的结果,则可以使用 List<String>
List<String> list = new ArrayList<>();
while(rs.next()){
list.add(rs.getString("col_name3"));
}
如果要获取所有列,则需要将列表的类型更改为Object:
List<MyObject> list = new ArrayList<>();
while(rs.next()){
list.add(new MyObject(rs.getString("col_name1"), rs.getString("col_name2"), rs.getString("col_name3")));
}
您可以创建一个包含Object的所有列的类,例如:
Class MyObject{
private String col1;
private String col2;
private String col3;
//Constructor
public MyObject(String col1, String col2, String col3){
this.col1 = col1;
this.col2 = col2;
this.col3 = col3
}
//getter and setters
}
编辑
如果要显示信息,首先有两种方式,例如@Mick Mnemonicoverride toString()
在类MyObject的注释中这样说:
@Override
public String toString() {
return "MyObject{" + "col1=" + col1 + ", col2=" + col2 + ", col3=" + col3 + '}';
}
并且您的循环应如下所示:
for(int i = 0; i<list.size; i++){
System.out.println(list.get(i));
}
或者您可以逐个元素地获取:
for(int i = 0; i<list.size; i++){
System.out.println(list.get(i).getCol1() + " " + list.get(i).getCol2());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句