我正在使用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 版本信息以及驱动程序版本。