/**
* 查詢到多條數據, 封裝到List<Map>
*/
public List<Map<String, Object>> queryForMapList(String sql, Object... args) throws SQLException {
PreparedStatement statement = getStatement(sql, args);
// 執行SQL語句, 獲取結果集
ResultSet resultSet = statement.executeQuery();
// 獲取結果集中的元數據
ResultSetMetaData metaData = resultSet.getMetaData();
// 字段的個數
int count = metaData.getColumnCount();
// 創建List集合
List<Map<String, Object>> list = new ArrayList<>();
// 處理結果集
while (resultSet.next()) {
// 創建Map集合
Map<String, Object> map = new HashMap<>();
// 根據字段的個數, 循環
for (int i = 0; i < count; i++) {
// 獲取字段的名字
String columnName = metaData.getColumnName(i + 1);
// 獲取字段對應的值
Object object = resultSet.getObject(columnName);
// 將字段名和字段值, 存入map集合中
map.put(columnName, object);
}
// 將map集合添加到List集合中
list.add(map);
}
// 釋放資源
JDBCUtils.close(resultSet, statement, connection);
return list;
}
例圖