· 2 years ago · May 14, 2023, 08:20 PM
1@Override
2 public void onEnable() {
3 loadConfig();
4 PluginManager pm = getServer().getPluginManager();
5 String url = "jdbc:mysql://" + hostname + "/" + database + connectionParameters;
6 try {
7 connection = DriverManager.getConnection(url, user, password);
8 logger.info("Successfully connected to database!");
9 } catch (SQLException e) {
10 logger.severe("Failed to connect to database!");
11 e.printStackTrace();
12 pm.disablePlugin(this);
13 }
14 try (Statement statement = connection.createStatement()) {
15 statement.executeUpdate(
16 "CREATE TABLE IF NOT EXISTS players ("
17 + "id INT AUTO_INCREMENT PRIMARY KEY,"
18 + "Players VARCHAR(255) NOT NULL,"
19 + "Time BIGINT NOT NULL"
20 + ")");
21 logger.info("Table 'players' created successfully.");
22 } catch (SQLException e) {
23 getLogger().severe("Failed to create table 'players'!");
24 e.printStackTrace();
25 }
26 try (Statement statement = connection.createStatement()) {
27 statement.executeUpdate(
28 "CREATE TABLE IF NOT EXISTS Time ("
29 + "id INT AUTO_INCREMENT PRIMARY KEY,"
30 + "Players VARCHAR(255) NOT NULL,"
31 + "Time BIGINT NOT NULL"
32 + ")");
33 logger.info("Table 'Time' created successfully.");
34 } catch (SQLException e) {
35 getLogger().severe("Failed to create table 'Time'!");
36 e.printStackTrace();
37 }
38 pm.registerEvents(new EventListener(this), this);
39 }
40
41 public void loadConfig() {
42 saveDefaultConfig();
43 FileConfiguration config = getConfig();
44 sessiontime = config.getInt("sessiontime");
45 ConfigurationSection storage = config.getConfigurationSection("storage");
46 hostname = storage.getString("hostname");
47 user = storage.getString("user");
48 password = storage.getString("password");
49 database = storage.getString("database");
50 connectionParameters = storage.getString("connection-parameters");
51 }
52
53 @Override
54 public void onDisable() {
55 // Закрытие соединения с базой данных
56 try {
57 if (connection != null && !connection.isClosed()) {
58 connection.close();
59 logger.info("Successfully closed database connection!");
60 }
61 } catch (SQLException e) {
62 logger.severe("Failed to close database connection!");
63 e.printStackTrace();
64 }
65 }