Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.juliusapi.freundesystem.sql;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.concurrent.Callable;
- import java.util.concurrent.ExecutionException;
- import java.util.concurrent.FutureTask;
- public class MySQL {
- private String host;
- private int port;
- private String database;
- private String user;
- private String password;
- private Connection connection;
- public MySQL(String host, int port, String database, String user, String password) {
- this.host = host;
- this.port = port;
- this.database = database;
- this.user = user;
- this.password = password;
- connect();
- update("CREATE TABLE IF NOT EXISTS Freunde (UUID varchar(64), FUUIDs TEXT(32000), FRequests TEXT(3200), OnlineStatus boolean)");
- update("CREATE TABLE IF NOT EXISTS Einstellungen (UUID varchar(64), Requests boolean, Notify boolean, FChat boolean, FJump boolean)");
- }
- public void connect() {
- try {
- connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?autoReconnect=true", user, password);
- System.out.println("MySQL ist Verbunden");
- } catch (SQLException ex) {
- ex.printStackTrace();
- System.out.println("MySQL konnte nicht Verbunden werden");
- }
- }
- public void disconnect() {
- try {
- connection.close();
- System.out.println("MySQL hat sich getrennt");
- } catch (SQLException ex) {
- ex.printStackTrace();
- System.out.println("MySQL konnte nicht getrennt werden");
- }
- }
- public boolean isConnected() {
- return (connection != null ? true : false);
- }
- public void update(String qry) {
- if(isConnected()) {
- new FutureTask<>(new Runnable() {
- PreparedStatement ps;
- @Override
- public void run() {
- try {
- ps = connection.prepareStatement(qry);
- ps.executeUpdate();
- ps.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }, 1).run();
- } else {
- connect();
- }
- }
- public void updateWithBoolean(String qry, boolean value) {
- if(isConnected()) {
- new FutureTask<>(new Runnable() {
- PreparedStatement ps;
- @Override
- public void run() {
- try {
- ps = connection.prepareStatement(qry);
- ps.setBoolean(1, value);
- ps.executeUpdate();
- ps.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }, 1).run();
- } else {
- connect();
- }
- }
- public ResultSet getResult(String qry) {
- if(isConnected()) {
- try {
- final FutureTask<ResultSet> task = new FutureTask<ResultSet>(new Callable<ResultSet>() {
- PreparedStatement ps;
- @Override
- public ResultSet call() throws Exception {
- ps = connection.prepareStatement(qry);
- return ps.executeQuery();
- }
- });
- task.run();
- return task.get();
- } catch (InterruptedException | ExecutionException e) {
- e.printStackTrace();
- }
- } else {
- connect();
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement