JavaMySQL:查询以获取列的所有值
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的最后一个值。为什么?
# 1 楼答案
这个问题是因为如果您需要存储所有数据,您不能仅使用“String”对象,而是使用集合,您可能会这样做:
因为正如您所做的那样,每次在value1和value2中存储一个新字符串时,都会覆盖以前的值,因此您将只获得最后一个值
通过使用集合,您可以动态存储在“ResultSet”中获得的“String”,并将其全部保存
然后,要对其进行操作,您可以使用如下forEach:
这将在控制台中显示“列表”中的每个值
# 2 楼答案
因为每次覆盖上一个值时。尝试使用列表:
# 3 楼答案
如果只想获得一列的结果,那么可以使用
List<String>
如果要获取所有列,则需要将列表的类型更改为对象:
您可以创建包含对象所有列的类,例如:
编辑
如果你想显示你的信息,你有两种方法,第一种是@Mick Mememonic在你的类MyObject中的注释
override toString()
,如下所示:您的循环应该如下所示:
或者,您可以逐个元素获取: