Java 如何从列表中以字符串形式存储每个字段数据?
我创建了一个java类,该类从数据库获取数据并添加到列表中。method dbd()返回列表Java 如何从列表中以字符串形式存储每个字段数据?,java,sql,sql-server,jsp,Java,Sql,Sql Server,Jsp,我创建了一个java类,该类从数据库获取数据并添加到列表中。method dbd()返回列表 public class db { public List dbd() { List myList = new ArrayList(); try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc
public class db {
public List dbd() {
List myList = new ArrayList();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql:*********,*******");
Statement stmt2 = conn.createStatement();
ResultSet rs2 = stmt2.executeQuery(" SELECT name_id,address,image from data where name="kiran";" ) ;
while(rs2.next())
{
myList.add(rs2.getString("name_id"));
myList.add(rs2.getString("address"));
myList.add(rs2.getString("image"));
}
} catch (Exception ex) {
System.out.println(ex);
}
return myList;
}
public static void main(String args[]){
}
}
在这个jsp页面中,我将db的对象创建为nw。通过使用迭代器,我可以打印数据库中的所有字段数据
<%
db nw = new db();
Iterator it = nw.dbd().iterator();
while (it.hasNext()) {
out.println(it.next());
}
%>
***我需要将每个字段数据存储回单个字符串,如名称、地址、图像。。我该怎么办?Java List提供了一个有序的集合。您所做的:您已经根据索引顺序向集合中添加了大量字符串。即,添加到列表中的每个新字符串将具有下一个索引。这意味着,如果数据库中有3列,则连续添加了“name_id”、“address”和“image”的值。一种解决办法可以是:
int ind = 0;
while (it.hasNext()) {
String name;
String address;
String image;
if (ind % 3 == 0)
name = it.next();
else if (ind % 3 == 1)
address = it.next();
else if (ind % 3 == 2)
image = it.next();
ind++;
}
个人而言,我希望以以下方式将此数据存储在ArrayList中:
ArrayList list = new ArrayList<JSONObject>();
while(rs2.next()){
JSONObject obj = new JSONObject().put("name_id", rs2.getString("name_id")).put("address", rs2.getString("address")).put("image", rs2.getString("image"));
list.add(obj);
}
ArrayList list=new ArrayList();
while(rs2.next()){
JSONObject obj=new JSONObject().put(“name_id”,rs2.getString(“name_id”)).put(“address”,rs2.getString(“address”).put(“image”,rs2.getString(“image”);
列表。添加(obj);
}
在本例中,您将对JSON对象中的行进行分组,并可以如下方式检索数据:
Iterator<JSONObject> it = list.iterator();
while (it.hasNext()) {
JSONObject obj = it.next();
String name = obj.getString("name_id");
String address = obj.getString("address");
String image = obj.getString("image");
}
Iterator it=list.Iterator();
while(it.hasNext()){
JSONObject obj=it.next();
String name=obj.getString(“name_id”);
字符串地址=obj.getString(“地址”);
String image=obj.getString(“image”);
}
请格式化您的代码,不要对我们大喊大叫。我们不是聋子,你的问题是什么?你面临的错误是什么?没有错误。。但是这段代码会打印页面中的所有数据。但是我需要获取单个字段数据,并分别存储到字符串name_id、address、image和print中。