gpt4 book ai didi

java - 使用 jdbc 从数据库中按列检索值

转载 作者:行者123 更新时间:2023-12-02 12:13:53 25 4
gpt4 key购买 nike

我想从数据库中按列检索数据。假设我有列“a”,那么我想要该列的所有值,然后我有另一列“b”,那么我想要获取该列的所有值,依此类推所有列。

我的代码给了我行明智的值(value)。首先,它将从第一行检索数据,然后是第二行,依此类推。我的代码如下。

while (rs.next()) {
for(inti=1;i<=rsMetaData.getColumnCount();i++) {
System.out.println(rs.getString(i));
}
}

请建议如何获取第一列的所有值,然后是第二列,依此类推。

最佳答案

按行迭代数据并转换为按列。像这样的东西:

        ResultSet rs = con.createStatement().executeQuery("SELECT * FROM table");
ResultSetMetaData rsMetaData = rs.getMetaData();
Map<String, List<Object>> resultMap = new LinkedHashMap<>();
while (rs.next()) {
for(int i=1;i<=rsMetaData.getColumnCount();i++) {
String strColumnName = rsMetaData.getColumnName(i);
Object columnValue = rs.getObject(i);
if(resultMap.containsKey(strColumnName)){
resultMap.get(strColumnName).add(columnValue);
}else{
List<Object> resultList = new ArrayList<>();
resultList.add(columnValue);
resultMap.put(strColumnName,resultList);
}
}
}
// Iterate Data Column Wise
for(Iterator<Map.Entry<String, List<Object>>> iterator = resultMap.entrySet().iterator();iterator.hasNext();){
Map.Entry<String, List<Object>> entry = iterator.next();
System.out.println("Column Name: "+entry.getKey());
System.out.println("Column Values: "+entry.getValue());
}

关于java - 使用 jdbc 从数据库中按列检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335915/

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