gpt4 book ai didi

Java-MySql : Query to get all the values of the column

转载 作者:行者123 更新时间:2023-11-29 04:16:37 25 4
gpt4 key购买 nike

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");
}

但是String value1 和value2 中的所有值都是col_name3 的最后一个值。为什么?

最佳答案

如果您只想获得一列的结果,那么您可以使用 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
}

编辑

如果你想显示你的信息,你首先有两种方式,就像@Mick Mnemonic 在评论中说的 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());
}

关于Java-MySql : Query to get all the values of the column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42161043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com