在春季启动中从postgresql将数百万条记录导出到excel中



我正在使用Apache poi jar并使用SXSSFWorkbook接口在Spring boot java中将百万条记录导出到excel中。此外,我正在使用jdbc模板(fetchSize(和rowcallbackhandler从数据库(postgresql(中获取块中的记录,但是看起来记录仍然一次从数据库获取。请建议,以下是我用来从数据库获取的代码

jdbcTemplate.setFetchSize(1000);
jdbcTemplate.query("select * from tbl",new 
RowCallBackHandler(ResultSet rs){
// Create row in excel and write data
}
);

在我正在使用的类似 java 代码中,我必须设置

setAutoCommit(false(;

在连接中,以便提取正常工作。

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 版本信息以及驱动程序版本。

最新更新