将数据库中的结果列表写入 Java 中的 CSV 文件

Write ResultList from DB into a CSV file in Java

我需要将我的 query.getResultList() 写入 .CSV 文件。

我通过这个调用查询:

    final Query q = em.createNamedQuery("getalljobs");
    final List<Job> joblist = q.getResultList();

而 Namequery 只做 SELECT * FROM TABLEquery.getResultList() 的结果如下所示:

[id;name, id;name, ... ]

我不会使用 OpenCSV。

CSV 文件需要 headers.

解决方案

在文件中用 StringBuidler.append 逐行写入。为此,在每行之后添加逗号和新行。

你可以使用像

这样的东西
Query q = em.createNamedQuery("getalljobs");
List<Job> jobList = q.getResultList();
String csvHeader = getHeader();

try (PrintWriter fw = new PrintWriter(new FileWriter("output.csv"))) {
  fw.println(csvHeader);
  for(String line : jobList){
    fw.println(line);
  }
}