mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 10:39:05 +00:00
74 lines
2.1 KiB
Java
74 lines
2.1 KiB
Java
package mineverse.Aust1n46.chat.database;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.DriverManager;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
import java.sql.Statement;
|
|
import org.bukkit.plugin.Plugin;
|
|
import mineverse.Aust1n46.chat.database.Database;
|
|
|
|
//This class initializes the plugins connection to the MySQL database if it's enabled.
|
|
public class MySQL extends Database {
|
|
private final String user;
|
|
private final String database;
|
|
private final String password;
|
|
private final String port;
|
|
private final String hostname;
|
|
private Connection connection;
|
|
|
|
public MySQL(Plugin plugin, String hostname, String port, String database, String username, String password) {
|
|
super(plugin);
|
|
this.hostname = hostname;
|
|
this.port = port;
|
|
this.database = database;
|
|
this.user = username;
|
|
this.password = password;
|
|
this.connection = null;
|
|
}
|
|
|
|
@Override
|
|
public Connection openConnection() throws SQLException, ClassNotFoundException {
|
|
if(checkConnection())
|
|
return connection;
|
|
Class.forName("com.mysql.jdbc.Driver");
|
|
connection = DriverManager.getConnection("jdbc:mysql://" + this.hostname + ":" + this.port + "/" + this.database + "?autoReconnect=true", this.user, this.password);
|
|
return connection;
|
|
}
|
|
|
|
@Override
|
|
public boolean checkConnection() throws SQLException {
|
|
return connection != null && !connection.isClosed();
|
|
}
|
|
|
|
@Override
|
|
public Connection getConnection() {
|
|
return connection;
|
|
}
|
|
|
|
@Override
|
|
public boolean closeConnection() throws SQLException {
|
|
if(connection == null)
|
|
return false;
|
|
connection.close();
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public ResultSet querySQL(String query) throws SQLException, ClassNotFoundException {
|
|
if(checkConnection())
|
|
openConnection();
|
|
Statement statement = connection.createStatement();
|
|
ResultSet result = statement.executeQuery(query);
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public int updateSQL(String query) throws SQLException, ClassNotFoundException {
|
|
if(checkConnection())
|
|
openConnection();
|
|
Statement statement = connection.createStatement();
|
|
int result = statement.executeUpdate(query);
|
|
return result;
|
|
}
|
|
} |