卡文特 2017-03-28 13:44 采纳率: 33.3%
浏览 1440
已采纳

JDBC中ResultSet查询数据的问题

例如Statement执行的语句为 SELECT * from user; 那么除了用getString方法一个列一个列的获取 有没有什么方法可以一次获取到这一行 所有的数据。 或者说有没有什么办法可以获取到有几个列。 然后再循环获取也可以。

  • 写回答

3条回答 默认 最新

  • YuanLicc 2017-03-28 15:02
    关注

    可以使用ResultSetMetaData:

        ResultSetMetaData resultSetMetaData =  resultSet.getMetaData(); 
        int cols = resultSetMetaData.getColumnCount();
        HashMap<String, Object> hashMap = null; 
        while(rs.next()){
            hashMap = new HashMap<String, Object>();
    
            for (int i = 1; i <= cols; i++) {
                hashMap.put(resultSetMetaData.getColumnLabel(i), rs.getObject(i)); 
    
            }
            result.add(hashMap);
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?