2013-02-09 66 views
0

我试图检索数据库中的所有元素并显示在webpage.But与我的代码它只能检索一个行元素。问题是,它检索所有元素,但它将最后一行元素添加到对象。我认为首先检索的所有元素都被覆盖,因为它会显示最后一行元素。任何人都可以告诉我如何将所有行元素添加到JSON对象。请帮帮我。如何将数据库中的所有行元素添加到JSON对象

代码:

  while(rs.next()){ 
       ImageFile.setName(rs.getString("imagename").trim()); 
       ImageFile.setDisc(rs.getString("imagedisc").trim()); 
       ImageFile.setImageid(rs.getInt("imageid")); 
       ImageFile.setalbumid(rs.getInt("albumid")); 

       byte imageData[] = rs.getBytes("imagethumb"); 
       String encoded = DatatypeConverter.printBase64Binary(imageData); 
       ImageFile.setThumb(encoded); 

       byte image1Data[] = rs.getBytes("imagethumb"); 
       String encoded1 = DatatypeConverter.printBase64Binary(image1Data); 

       ImageFile.setFull(encoded1); 
      }                   

完整的源代码是this问题

请帮我........谢谢....

回答

1

使用列表Collection保留db的所有row-values,如 - List<ImageFileInfo>表示包含ImageFileInfo对象的列表。然后将列表序列化为json String

List<ImageFileInfo> imageFileList = new ArrayList<ImageFileInfo>(); 
while(rs.next()){ 
    ImageFileInfo info = new ImageFileInfo(); 
    info..setName(rs.getString("imagename").trim()); 
    ... 
    imageFileList.add(info); 
} 

JSON序列 -

Type typeOfList= new TypeToken<List<ImageFileInfo>>(){}.getType(); 
String s = gson.toJson(imageFileList , typeOfList); 
+0

它是'的ArrayList imageFileList =新的ArrayList ();'或'列表 imageFileList =新的ArrayList (); '< - 这是显示错误。告诉我只是困惑谢谢... – james 2013-02-09 08:05:06

+0

发送表单是正确的。你能告诉我什么错误? – 2013-02-09 08:06:06

+0

错误是'类型列表不是通用的;如果我删除参数,它不能用参数参数化。然后告诉将其更改为'ArrayList imageFileList = new ArrayList ();' – james 2013-02-09 08:13:38

相关问题