From ad76e0e311143cb3b3873ba61512ae36818c895f Mon Sep 17 00:00:00 2001 From: EoD <293499+EoD@users.noreply.github.com> Date: Tue, 22 Jul 2025 20:32:24 +0000 Subject: [PATCH] make QueryResult AutoClosable This allows QueryResults to be used within a try() block without explicitely closing them. --- .../vip/fubuki/playersync/util/JDBCsetUp.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java b/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java index cc0b70f..c2a14b0 100644 --- a/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java +++ b/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java @@ -90,6 +90,24 @@ public class JDBCsetUp { } } - public record QueryResult(Connection connection, ResultSet resultSet) { + public record QueryResult(Connection connection, ResultSet resultSet) implements AutoCloseable { + @Override + public void close() { + if (resultSet != null) { + try { + resultSet.close(); + } catch (SQLException e) { + LOGGER.error("Error closing ResultSet", e); + } + } + + if (connection != null) { + try { + connection.close(); + } catch (SQLException e) { + LOGGER.error("Error closing Connection", e); + } + } + } } }