Update from Git Manager GUI
This commit is contained in:
66
src/main/java/de/mviper/adventskalender/MySQLManager.java
Normal file
66
src/main/java/de/mviper/adventskalender/MySQLManager.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package de.mviper.adventskalender;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class MySQLManager {
|
||||
|
||||
private static Connection connection;
|
||||
|
||||
public static void connect() {
|
||||
FileConfiguration config = Adventskalender.getInstance().getConfig();
|
||||
String host = config.getString("mysql.host");
|
||||
int port = config.getInt("mysql.port");
|
||||
String database = config.getString("mysql.database");
|
||||
String user = config.getString("mysql.user");
|
||||
String password = config.getString("mysql.password");
|
||||
|
||||
try {
|
||||
if (connection != null && !connection.isClosed()) return;
|
||||
|
||||
synchronized (MySQLManager.class) {
|
||||
Class.forName("com.mysql.jdbc.Driver");
|
||||
connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?autoReconnect=true&useSSL=false", user, password);
|
||||
}
|
||||
|
||||
createTables();
|
||||
Adventskalender.getInstance().getLogger().info("MySQL-Verbindung erfolgreich hergestellt!");
|
||||
} catch (Exception e) {
|
||||
Adventskalender.getInstance().getLogger().severe("MySQL-Verbindung fehlgeschlagen: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private static void createTables() {
|
||||
try (Statement s = connection.createStatement()) {
|
||||
// Tabelle für Einzelspieler-Daten
|
||||
s.executeUpdate("CREATE TABLE IF NOT EXISTS advent_players (uuid VARCHAR(36), day INT, PRIMARY KEY(uuid, day))");
|
||||
// Tabelle für globalen Modus
|
||||
s.executeUpdate("CREATE TABLE IF NOT EXISTS advent_global (day INT PRIMARY KEY, player_name VARCHAR(16))");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isConnected() {
|
||||
try {
|
||||
return connection != null && !connection.isClosed();
|
||||
} catch (SQLException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void close() {
|
||||
try {
|
||||
if (isConnected()) connection.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static Connection getConnection() {
|
||||
return connection;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user