diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2022-05-09 16:19:24 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2022-05-09 16:19:24 -0400 |
commit | 5086fb4a007925e4edc236d80211f4a0288dfa82 (patch) | |
tree | a515de6fc23c2b5c4c51d935d83bbfcb4753a4c4 /src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java | |
parent | fix Top.java (diff) | |
download | kenshinshideandseek-5086fb4a007925e4edc236d80211f4a0288dfa82.tar.gz kenshinshideandseek-5086fb4a007925e4edc236d80211f4a0288dfa82.tar.bz2 kenshinshideandseek-5086fb4a007925e4edc236d80211f4a0288dfa82.zip |
refactor placeholders
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java b/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java index 06c036d..6948134 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java @@ -44,11 +44,11 @@ public class PlayerInfoTable { + " uuid BINARY(16) PRIMARY KEY,\n" + " hider_wins int NOT NULL,\n" + " seeker_wins int NOT NULL,\n" - + " hider_games int NOT NULL\n" - + " seeker_games int NOT NULL\n" - + " hider_kills int NOT NULL\n" - + " seeker_kills int NOT NULL\n" - + " hider_deaths int NOT NULL\n" + + " hider_games int NOT NULL,\n" + + " seeker_games int NOT NULL,\n" + + " hider_kills int NOT NULL,\n" + + " seeker_kills int NOT NULL,\n" + + " hider_deaths int NOT NULL,\n" + " seeker_deaths int NOT NULL\n" + ");"; @@ -124,6 +124,38 @@ public class PlayerInfoTable { } @Nullable + public PlayerInfo getInfoRanking(String order, int place){ + String sql = "SELECT * FROM hs_data ORDER BY "+order+" DESC LIMIT 1 OFFSET ?;"; + try(Connection connection = Database.connect(); PreparedStatement statement = connection.prepareStatement(sql)){ + statement.setInt(1, place-1); + ResultSet rs = statement.executeQuery(); + if(rs.next()){ + UUID uuid = decodeUUID(rs.getBytes("uuid")); + PlayerInfo info = new PlayerInfo( + uuid, + rs.getInt("hider_wins"), + rs.getInt("seeker_wins"), + rs.getInt("hider_games"), + rs.getInt("seeker_games"), + rs.getInt("hider_kills"), + rs.getInt("seeker_kills"), + rs.getInt("hider_deaths"), + rs.getInt("seeker_deaths") + ); + rs.close(); + connection.close(); + CACHE.put(uuid, info); + return info; + } + rs.close(); + } catch (SQLException e){ + Main.plugin.getLogger().severe("SQL Error: " + e.getMessage()); + e.printStackTrace(); + } + return null; + } + + @Nullable public List<PlayerInfo> getInfoPage(int page){ String sql = "SELECT * FROM hs_data ORDER BY (hider_wins + seeker_wins) DESC LIMIT 10 OFFSET ?;"; try(Connection connection = Database.connect(); PreparedStatement statement = connection.prepareStatement(sql)){ |