Spring Boot 通过 REST 端点将大型数据库导出到 csv

Gna*_*NiX 5 java spring spring-jdbc spring-data spring-boot

我需要构建一个 Spring Boot 应用程序,该应用程序公开 REST 端点,以将巨大的数据库表导出为具有不同过滤器参数的 CSV 文件。我正在努力寻找解决这个问题的有效方法。

目前,我正在使用 spring-data-jpa 查询数据库表,该表返回 POJO 列表。然后使用 Apache Commons CSV 将此列表作为 CSV 文件写入 HttpServletResponse。这种方法有几个问题。首先,它将所有数据加载到内存中。其次,它很慢。

我没有对数据执行任何业务逻辑,在这种情况下是否有必要使用 jpa 和实体(POJO)。我觉得这就是造成问题的地方。

小智 -1

您可以尝试 Spring 5 中引入的新 SpringWebflux: https://www.baeldung.com/spring-webflux