在 Spring Boot 中将数百万条记录从 postgresql 导出到 excel 中
Posted
技术标签:
【中文标题】在 Spring Boot 中将数百万条记录从 postgresql 导出到 excel 中【英文标题】:Export millions records into excel from postgresql in spring boot 【发布时间】:2020-09-23 19:46:45 【问题描述】:我正在使用 Apache poi jar 并使用 SXSSFWorkbook 接口将百万条记录导出到 spring boot java 中的 excel 中。此外,我正在使用 jdbc 模板(fetchSize)和 rowcallbackhandler 以块的形式从数据库(postgresql)中获取记录,但是看起来记录仍在一次从 db 中获取。请建议,下面是我用来从数据库中获取的代码
jdbcTemplate.setFetchSize(1000);
jdbcTemplate.query("select * from tbl",new
RowCallBackHandler(ResultSet rs)
// Create row in excel and write data
);
【问题讨论】:
【参考方案1】:在我使用的类似 java 代码中,我必须设置
setAutoCommit(假);
在连接中,获取正常工作。
conn1 = DriverManager.getConnection(dbURL, dbUser, dbPass);
conn1.setAutoCommit(false);
...
pstatement1 = conn1.prepareStatement(sqlsel);
pstatement1.setString(1, sistema);
pstatement1.setInt(2, id);
pstatement1.setFetchSize(100);
祝你好运! 如果这不能解决问题,请在您的问题中添加 JAVA 版本信息以及驱动程序版本。
【讨论】:
以上是关于在 Spring Boot 中将数百万条记录从 postgresql 导出到 excel 中的主要内容,如果未能解决你的问题,请参考以下文章
将数百万条记录从平面文件插入 SQL Server 的陷阱是啥?