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 浏览: 73
一个高效的hash str map 的实现
4星 · 用户满意度95%
这段代码是用于执行 SQL 语句并将结果存储在 HashMap 中的 Java 代码。具体来说,它通过 JDBC 连接到数据库,创建 Statement 对象,执行 SQL 查询语句并将结果存储在 ResultSet 对象中。然后,它通过 ResultSetMetaData 获取结果集的元数据信息,循环遍历结果集的每一行,并将每一列的数据以键值对的形式存储在 HashMap 中。最后,它关闭 ResultSet 和 Statement 对象,释放资源。
需要注意的是,这段代码只会返回结果集中的第一行数据,并且会将 ID 列的值存储在 "id" 键中。如果需要返回多行数据,可以将 HashMap 存储在 List 中,每次循环时将 HashMap 加入 List 中。
阅读全文