summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/misc/mysql/MysqlHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/redstoner/misc/mysql/MysqlHandler.java')
-rw-r--r--src/main/java/com/redstoner/misc/mysql/MysqlHandler.java105
1 files changed, 39 insertions, 66 deletions
diff --git a/src/main/java/com/redstoner/misc/mysql/MysqlHandler.java b/src/main/java/com/redstoner/misc/mysql/MysqlHandler.java
index 909d276..d76227a 100644
--- a/src/main/java/com/redstoner/misc/mysql/MysqlHandler.java
+++ b/src/main/java/com/redstoner/misc/mysql/MysqlHandler.java
@@ -1,113 +1,86 @@
package com.redstoner.misc.mysql;
+import com.redstoner.misc.Main;
+import com.redstoner.misc.mysql.elements.MysqlDatabase;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.json.simple.parser.ParseException;
+
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
+import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.json.simple.parser.ParseException;
-
-import com.redstoner.misc.Main;
-import com.redstoner.misc.mysql.elements.MysqlDatabase;
-
-public class MysqlHandler
-{
+public class MysqlHandler {
public static MysqlHandler INSTANCE;
- private String url, username, password;
-
- public MysqlHandler(String hostname, int port, String username, String password)
- {
+ private String url, username, password;
+
+ public MysqlHandler(String hostname, int port, String username, String password) {
this.url = "jdbc:mysql://" + hostname + ":" + port + "/";
this.username = username;
this.password = password;
}
-
- public static void init()
- {
- Map<Serializable, Serializable> mysqlCredentials = new HashMap<>();
- File mysqlCredentialsFile = new File(Main.plugin.getDataFolder(), "mysqlCredentials.json");
- if (mysqlCredentialsFile.exists())
- {
- try
- {
+
+ public static void init() {
+ Map<Serializable, Serializable> mysqlCredentials = new HashMap<>();
+ File mysqlCredentialsFile = new File(Main.plugin.getDataFolder(), "mysqlCredentials.json");
+ if (mysqlCredentialsFile.exists()) {
+ try {
mysqlCredentials = JSONManager.loadMap(mysqlCredentialsFile);
- }
- catch (IOException | ParseException e)
- {
+ } catch (IOException | ParseException e) {
e.printStackTrace();
}
- }
- else
- {
+ } else {
Bukkit.getConsoleSender().sendMessage(
ChatColor.RED + "MySQL config does not exist, creating an example one, things might (will) break!");
mysqlCredentials.put("hostname", "localhost");
mysqlCredentials.put("port", "3306");
mysqlCredentials.put("username", "your username here");
mysqlCredentials.put("password", "your password here");
- try
- {
+ try {
JSONManager.saveMap(mysqlCredentialsFile, mysqlCredentials);
- }
- catch (IOException e)
- {
+ } catch (IOException e) {
e.printStackTrace();
}
}
String hostname = (String) mysqlCredentials.get("hostname");
- int port = Integer.valueOf((String) mysqlCredentials.get("port"));
+ int port = Integer.valueOf((String) mysqlCredentials.get("port"));
String username = (String) mysqlCredentials.get("username");
String password = (String) mysqlCredentials.get("password");
INSTANCE = new MysqlHandler(hostname, port, username, password);
}
-
- private Connection getConnection(String databaseName) throws IllegalStateException
- {
+
+ public MysqlDatabase getDatabase(String databaseName) {
+ return new MysqlDatabase(getConnection(databaseName));
+ }
+
+ private Connection getConnection(String databaseName) throws IllegalStateException {
Connection connection = null;
- try
- {
+ try {
connection = DriverManager.getConnection(url + databaseName, username, password);
- }
- catch (SQLException e)
- {
+ } catch (SQLException e) {
throw new IllegalStateException("Cannot connect to the database!", e);
}
return connection;
}
-
- public MysqlDatabase getDatabase(String databaseName)
- {
- return new MysqlDatabase(getConnection(databaseName));
- }
-
- public List<MysqlDatabase> getDatabases()
- {
- try
- {
- List<MysqlDatabase> databases = new ArrayList<>();
- Connection connection = DriverManager.getConnection(url.substring(0, url.length()), username, password);
- DatabaseMetaData metadata = connection.getMetaData();
- ResultSet queryResults = metadata.getCatalogs();
- while (queryResults.next())
- {
+
+ public List<MysqlDatabase> getDatabases() {
+ try {
+ List<MysqlDatabase> databases = new ArrayList<>();
+ Connection connection = DriverManager.getConnection(url.substring(0, url.length()), username, password);
+ DatabaseMetaData metadata = connection.getMetaData();
+ ResultSet queryResults = metadata.getCatalogs();
+ while (queryResults.next()) {
String databaseName = queryResults.getString("TABLE_CAT");
databases.add(new MysqlDatabase(getConnection(databaseName)));
}
connection.close();
return databases;
- }
- catch (SQLException e)
- {
+ } catch (SQLException e) {
e.printStackTrace();
return null;
}