从 MySQL JPA 应用程序下载 CSV 的优化方式

Optimized Way To Download CSV From MySQL JPA application

我有 table,它在 MySQL 中有大约 30 万行与 Hibernate JPA 应用程序连接。我们需要提供一种从 UI 应用程序下载 csv 格式数据的方法。

如果我们使用 hibernate 查询数据并使用 opencsv csv writer 构建一个 csv,它会非常慢并且需要很长时间才能生成 csv。

更快地下载 csv 的最佳方法应该是什么?在 mysql 中有没有一种方法我们可以使用一些查询直接在磁盘上生成 csv 并 return 将 csv 提供给用户?或者任何其他更快的方法?

只需使用 FileWriter 并在每列后添加逗号并以 csv 扩展名保存文件即可轻松生成 CSV 文件

private static void generateCsvFile(String sFileName) {
    try {
        FileWriter writer = new FileWriter(sFileName);

        writer.append("DisplayName");
        writer.append(',');
        writer.append("Age");
        writer.append('\n');

        writer.append("YOUR NAME");
        writer.append(',');
        writer.append("100");
        writer.append('\n');

        // generate whatever data you want

        writer.flush();
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

现在从数据库中读取并为每条记录继续添加到文件中

编辑:-

SELECT display_name,age FROM user INTO OUTFILE '/tmp/user.csv' FIELDS     TERMINATED BY ','  LINES TERMINATED BY '\r\n'; 

使用上面的查询你可以直接下载csv