如何将两个字段结果集放入Java中的数组列表

时间:2018-11-11 15:07:29

标签: java

这是我的代码:我正在检索一个数据库表字段,但是我也想要第二个。

String query = "select QId, Options from QuestionMaster where SurveyID = '" + s + "'";

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ArrayList list = new ArrayList();

while (rs.next())
{
    list.add(rs.getString(1));
}
rs.close();
String[] contactListNames = (String[]) list.toArray(new String[list.size()]);

有什么方法可以通过2d arraylist或2d array

2 个答案:

答案 0 :(得分:0)

如果您的ID是唯一的,则可以使用HashMap存储结果集:

   Map< String, String> hm = new HashMap<String, String>(); 
   while (rs.next()) {
       hm.put(rs.getString(1), rs.getString(2));     
    }

   Set<Map.Entry<String,String>> set = hm.entrySet();    

   for (Map.Entry<String, String> entry : set) { 
       System.out.println(entry.getKey()); 
       System.out.println(entry.getValue()); 
   }

entry.getKey()返回QId
entry.getValue()返回Options

答案 1 :(得分:0)

基本上,您可以创建适合表的模型类。 每个查询都必须返回该确切类型,以便您知道该输入是正确的。 (不进一步介绍,但看看Jpa的工作方式)

  1. 您创建一个具有所有属性(id,option,name ...)的类, 称为POJO
  2. 查询您的字段
  3. 重复每个结果, 创建您的POJO对象
  4. 将其添加到列表中

您还可以在这里做很多其他事情,但这是数据库映射的开始