我在从数据库中获取数据时遇到问题。 我正在尝试获取数组列表。
但我的问题是我只能获取数组的最后一个元素,因为它会覆盖前一个元素。
这是我的代码。
{
"query": {
"bool": {
"must": [
{"term": { "AREA" : "Mumbai" }},
{"term": { "AREA" : "Chennai" }}
]
}
}
}
在我的sysout中,我可以检索所有数据。但在我的页面上只检索到最后一个元素。这是我的道教课程。
String sql;
sql = "select * from NM_PROPERTIES_LOADER";
ResultSet rs = stmt.executeQuery(sql);
String prop_name = null;
String prop_value = null;
PropertyData reader = new PropertyData();
while(rs.next()){
prop_name = rs.getString("prop_name");
prop_value = rs.getString("prop_value");
reader.setPropName(prop_name);
reader.setPropValue(prop_value);
..//other setter..
System.out.println(prop_name + " " + prop_value);
}
prop.add(reader);
答案 0 :(得分:1)
在循环的每次迭代中,您都会覆盖reader
的内容。
你想在循环中创建reader
,而不是在外面,
并且在循环内部进行prop.add(reader)
,而不是在外部。
像这样:
String sql = "select * from NM_PROPERTIES_LOADER";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
PropertyData reader = new PropertyData();
String name = rs.getString("prop_name");
String value = rs.getString("prop_value");
reader.setPropName(name);
reader.setPropValue(value);
// other setter calls..
prop.add(reader);
}