From c2d5d37d30f5caefb56eaa0b07af8662b1fcae93 Mon Sep 17 00:00:00 2001 From: mlus <1319237806@qq.com> Date: Thu, 20 Nov 2025 12:18:26 +0800 Subject: [PATCH 1/2] auto close prepared statement --- .../java/vip/fubuki/playersync/util/JDBCsetUp.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java b/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java index 033c034..afff3fd 100644 --- a/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java +++ b/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java @@ -49,7 +49,7 @@ public class JDBCsetUp { Connection connection = getConnection(); // With database selected (and "USE" already run) PreparedStatement queryStatement = connection.prepareStatement(sql); ResultSet resultSet = queryStatement.executeQuery(); - return new QueryResult(connection, resultSet); + return new QueryResult(connection, queryStatement, resultSet); } /** @@ -94,7 +94,7 @@ public class JDBCsetUp { } } - public record QueryResult(Connection connection, ResultSet resultSet) implements AutoCloseable { + public record QueryResult(Connection connection,PreparedStatement preparedStatement, ResultSet resultSet) implements AutoCloseable { @Override public void close() { if (resultSet != null) { @@ -105,6 +105,14 @@ public class JDBCsetUp { } } + if (preparedStatement != null) { + try { + preparedStatement.close(); + } catch (SQLException e) { + LOGGER.error("Error closing PreparedStatement", e); + } + } + if (connection != null) { try { connection.close(); From f39a64bf145391bff2610168a4e9e993a3af3f2f Mon Sep 17 00:00:00 2001 From: mlus <1319237806@qq.com> Date: Sat, 22 Nov 2025 22:59:23 +0800 Subject: [PATCH 2/2] 2.1.4 update --- src/main/java/vip/fubuki/playersync/sync/VanillaSync.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java index e0e779f..f504f6b 100644 --- a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java +++ b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java @@ -142,8 +142,8 @@ public class VanillaSync { try { String player_uuid = event.getProfile().getId().toString(); PlayerSync.LOGGER.info("Detected connection from player" + player_uuid + ",starting checking"); - boolean online = false; - int lastServer = -1; + boolean online; + int lastServer; // First query: check basic player data and check whether player can join into server. JDBCsetUp.QueryResult qr1 = JDBCsetUp.executeQuery("SELECT online, last_server FROM player_data WHERE uuid='" + player_uuid + "'"); @@ -410,8 +410,7 @@ public class VanillaSync { dynamicTagInput, snbtDataVersion, currentDataVersion); - CompoundTag compoundTag = (CompoundTag) updatedDynamicTag.getValue(); - return compoundTag; + return (CompoundTag) updatedDynamicTag.getValue(); } /**