Writing a large ResultSet to a File

前端 未结 2 1870
囚心锁ツ
囚心锁ツ 2020-12-03 09:03

I\'m tryin to write a large ResulSet (~1mm rows) to a single file. Is there a preferred/efficient way to do this in Java 1.6?

2条回答
  •  庸人自扰
    2020-12-03 09:53

    From GitHub: https://github.com/OhadR/ohadr.common/blob/master/src/main/java/com/ohadr/common/utils/resultset/ResultSetConverters.java

    public static void writeResultSetToWriter(ResultSet resultSet, PrintWriter writer) throws SQLException
    {
    ResultSetMetaData metadata = resultSet.getMetaData();
    int numColumns = metadata.getColumnCount();
    int numRows = 0;
    
    while(resultSet.next())             //iterate rows
    {
        ++numRows;
        JSONObject obj = new JSONObject();      //extends HashMap
        for (int i = 1; i <= numColumns; ++i)           //iterate columns
        {
            String column_name = metadata.getColumnName(i);
            obj.put(column_name, resultSet.getObject(column_name));
        }
        writer.println(obj.toJSONString());
    
        if(numRows % 1000 == 0)
            writer.flush();
    }
    

提交回复
热议问题