public HashMap find(String sql) { HashMap map = new HashMap(); //List<HashMap> list = new ArrayList(); try { Statement st = conn.createStatement(); System.out.println(sql); ResultSet rs = st.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { //HashMap map = new HashMap(); int i = rsmd.getColumnCount(); for (int j = 1; j <= i; j++) { if (!rsmd.getColumnName(j).equals("ID")) { String str = rs.getString(j) == null ? "" : rs.getString(j); if (str.equals("null")) str = ""; map.put(rsmd.getColumnName(j), str); } else map.put("id", rs.getString(j)); } //list.add(map); break; } rs.close(); st.close();
时间: 2024-02-14 19:24:17 浏览: 20
这段代码是用于执行 SQL 语句并将结果存储在 HashMap 中的 Java 代码。具体来说,它通过 JDBC 连接到数据库,创建 Statement 对象,执行 SQL 查询语句并将结果存储在 ResultSet 对象中。然后,它通过 ResultSetMetaData 获取结果集的元数据信息,循环遍历结果集的每一行,并将每一列的数据以键值对的形式存储在 HashMap 中。最后,它关闭 ResultSet 和 Statement 对象,释放资源。
需要注意的是,这段代码只会返回结果集中的第一行数据,并且会将 ID 列的值存储在 "id" 键中。如果需要返回多行数据,可以将 HashMap 存储在 List 中,每次循环时将 HashMap 加入 List 中。
相关问题
HashMap<String, Object> map = new HashMap<>();该map中可以存arrayList吗
是的,可以在HashMap中存储ArrayList对象。例如,以下代码创建了一个HashMap,其中键值对的值是ArrayList对象:
```
HashMap<String, Object> map = new HashMap<>();
ArrayList<String> list = new ArrayList<>();
list.add("A");
list.add("B");
map.put("list", list);
```
在这个例子中,键值对的键是字符串“list”,值是包含字符串“A”和“B”的ArrayList对象。您可以像这样访问和操作存储在HashMap中的ArrayList对象:
```
ArrayList<String> storedList = (ArrayList<String>) map.get("list");
storedList.add("C");
```
这将在存储在HashMap中的ArrayList对象中添加一个新元素“C”。
public ArrayList<HashMap<String, String>> jList = new ArrayList<HashMap<String, String>>();jList 可以add一个List数组吗
可以,你可以使用`jList.addAll()`方法向列表中添加一个List数组。例如,如果要向列表中添加一个包含多个人员信息的List数组,可以使用以下代码:
```
List<HashMap<String, String>> personList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> person1 = new HashMap<String, String>();
person1.put("Name", "John");
person1.put("Age", "25");
personList.add(person1);
HashMap<String, String> person2 = new HashMap<String, String>();
person2.put("Name", "Mary");
person2.put("Age", "30");
personList.add(person2);
jList.addAll(personList);
```
这将向jList列表中添加两个人员信息,分别是"John",年龄为"25"和"Mary",年龄为"30"。