برنامه نویسی
چگونه می توان داده ها را از Postgres DB به عنوان Java Map دریافت کرد؟
در این پست در مورد نحوه بازیابی داده ها از Postgres DB به عنوان نقشه لیست و همچنین لیست نقشه ها در جاوا صحبت خواهم کرد.
برای واکشی داده ها از RDS به عنوان فهرست نقشه:
public List<Map<String, Object>> readResultSetAsList(String query) throws SQLException {
System.out.println("query(" + query + ")");
Statement queryStatement = connection.createStatement();
ResultSet resultSet = queryStatement.executeQuery(query);
ResultSetMetaData md = resultSet.getMetaData();
int columns = md.getColumnCount();
List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>();
while (resultSet.next()) {
Map<String, Object> row = new HashMap<String, Object>(columns);
for (int i = 1; i <= columns; ++i) {
row.put(md.getColumnName(i), resultSet.getObject(i));
}
rows.add(row);
}
System.out.println("rows=====" + rows);
return rows;
}
برای واکشی داده ها از RDS به عنوان نقشه فهرست:
public Map<String, List<Object>> readResultSet(String query) {
System.out.println("query(" + query + ")");
Map<String, List<Object>> resultList = null;
try {
Statement queryStatement = connection.createStatement();
ResultSet resultSet = queryStatement.executeQuery(query);
ResultSetMetaData md = resultSet.getMetaData();
int columnCount = resultSet.getMetaData().getColumnCount();
resultList = new HashMap<>(columnCount);
for (int i = 1; i <= columnCount; ++i) {
resultList.put(md.getColumnName(i), new ArrayList<>());
}
while (resultSet.next()) {
for (int i = 1; i <= columnCount; ++i) {
resultList.get(md.getColumnName(i)).add(resultSet.getObject(i));
}
}
System.out.println("resultList=====" + resultList);
resultSet.close();
queryStatement.close();
} catch (SQLException e) {
Assert.fail(
"Failed to execute query("
+ query
+ ")! Reason - "
+ e.getSQLState()
+ " "
+ e.getMessage());
}
return resultList;
}
در نظرات به من اطلاع دهید اگر این مفید بود.