/* * Copyright (c) 2016 * See CONTRIBUTORS.TXT for a full list of copyright holders. * * This file is part of the spigot Minecraft server plugin 'PlaytimeReloaded'. * * PlaytimeReloaded is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlaytimeReloaded is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with PlaytimeReloaded. If not, see . */ package li.inc.PlaytimeReloaded.DataStore.DB; import java.sql.*; public class MySQLTools { Connection m_MySQLConnection; String m_host; int m_port; String m_dbname; String m_username; String m_passwort; //Public Funktionen public MySQLTools(String _host, int _port, String _dbname, String _username, String _passwort) { m_host = _host; m_port = _port; m_dbname = _dbname; m_username = _username; m_passwort = _passwort; m_MySQLConnection = createSQLConnection(m_host, m_port, m_dbname, m_username, m_passwort); } public Connection getConnection() { return m_MySQLConnection; } //Private Funktionen private Connection createSQLConnection(String _host, int _port, String _dbname, String _username, String _passwort) { Connection _MySQLConnection; try { _MySQLConnection = DriverManager.getConnection("jdbc:mysql://" + _host + ":" + _port + "/" + _dbname, _username, _passwort); _MySQLConnection.setAutoCommit(true); return _MySQLConnection; } catch (SQLException e) { e.printStackTrace(); return null; } } private void pingConnection() { try { if(m_MySQLConnection.isClosed() || !m_MySQLConnection.isValid(3)) { m_MySQLConnection.close(); m_MySQLConnection = createSQLConnection(m_host, m_port, m_dbname, m_username, m_passwort); } } catch (SQLException e) { e.printStackTrace(); } } public void saveMySQLUpdate(String _quarry, String[] _values) { pingConnection(); try { PreparedStatement _ps = m_MySQLConnection.prepareStatement(_quarry); int index = 0; for( String _s: _values ) { String thisValue = (String)_s; _ps.setString(++index, thisValue); } _ps.executeUpdate(); }catch(Exception e) { e.printStackTrace(); } } public ResultSet saveMySQLQuarry(String _quarry, String[] _values) { pingConnection(); try { PreparedStatement _ps = m_MySQLConnection.prepareStatement(_quarry); int index = 0; for( String _s: _values ) { String thisValue = (String)_s; _ps.setString(++index, thisValue); } return _ps.executeQuery(); }catch(Exception e) { e.printStackTrace(); return null; } } }