gpt4 book ai didi

java - 如何将列表中的每个字段数据存储在字符串中?

转载 作者:行者123 更新时间:2023-12-01 13:47:22 27 4
gpt4 key购买 nike

我创建了一个 java 类,它从数据库获取数据并添加到列表中。方法 dbd() 返回列表。

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());
}

%>

**** 我需要存储每个字段数据以存储回单个字符串,例如 name_id、address、image .. 什么我应该这样做吗?

最佳答案

Java List 提供了有序集合。您已完成的操作:您已根据索引顺序向集合中添加了一定数量的字符串。 IE。添加到列表中的每个新字符串都将具有下一个索引。这意味着,如果您的数据库中有 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);
}

在这种情况下,您将在 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");
}

关于java - 如何将列表中的每个字段数据存储在字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262386/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com