Если вы хотите, чтобы получить только результат одного столбцов, то вы можете использовать List<String>
List<String> list = new ArrayList<>();
while(rs.next()){
list.add(rs.getString("col_name3"));
}
Если вы хотите, чтобы получить все столбцы, то вам необходимо изменить тип вашего списка к объекту:
List<MyObject> list = new ArrayList<>();
while(rs.next()){
list.add(new MyObject(rs.getString("col_name1"), rs.getString("col_name2"), rs.getString("col_name3")));
}
Вы можете создать класс, который содержит все столбцы вашего объекта, например:
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
}
EDIT
Если вы хотите, чтобы показать вашу информацию у вас есть два способа, как первые сказал @Mick Мнемоник в комментариях override 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());
}
Вы получаете 'col_name3' для' value1' и 'value2' в цикле while. Из цикла 'While' вы получаете последнее значение строки, хранящееся в' value1' и 'value2'. Как отметил @Mike, вам нужен список массивов для работы без цикла! – MohaMad