From 698443860f0f28bd63b4a4f49025384e1bc4909d Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 20 Jun 2025 11:40:49 +0800 Subject: [PATCH] add setFetchSize and FetchDirection --- .../java/cn/hutool/v7/db/sql/StatementUtil.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/hutool-db/src/main/java/cn/hutool/v7/db/sql/StatementUtil.java b/hutool-db/src/main/java/cn/hutool/v7/db/sql/StatementUtil.java index c16cfb6b2..a82b6f632 100644 --- a/hutool-db/src/main/java/cn/hutool/v7/db/sql/StatementUtil.java +++ b/hutool-db/src/main/java/cn/hutool/v7/db/sql/StatementUtil.java @@ -101,13 +101,28 @@ public class StatementUtil { */ public static PreparedStatement prepareStatementForBatch(final DbConfig config, final Connection conn, final String sql, final Iterable paramsBatch) { - return StatementBuilder.of() + PreparedStatement statement = StatementBuilder.of() .setConnection(conn) .setReturnGeneratedKey(false) .setSqlFilter(Opt.ofNullable(config).map(DbConfig::getSqlFilters).getOrNull()) .setSql(sql) .setParamList(StreamUtil.of(paramsBatch).collect(Collectors.toList())) .buildForBatch(); + + try{ + final Integer fetchSize = config.getFetchSize(); + if (null != fetchSize) { + statement.setFetchSize(fetchSize); + } + final FetchDirection fetchDirection = config.getFetchDirection(); + if (null != fetchDirection) { + statement.setFetchDirection(fetchDirection.getValue()); + } + } catch (SQLException e){ + throw new DbException(e); + } + + return statement; } /**