Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eu.craftgames.craftcore.mysql;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.logging.Level;
- import org.bukkit.Bukkit;
- import eu.craftgames.craftcore.CraftCore;
- /**
- * @version 1.0
- * @author MrKrisKrisu
- */
- public class MySQL {
- private Connection connect;
- private String host = "";
- private int port = 3306;
- private String database;
- private String user;
- private String password;
- public MySQL(String database, String user, String password) {
- this.database = database;
- this.user = user;
- this.password = password;
- CraftCore.getInstance().getLogger().log(Level.INFO, "[MySQL-Manager] Neue MySQL Instanz fuer " + database + "/" + user + " erstellt!");
- }
- public MySQL(String database) {
- this.database = database;
- CraftCore.getInstance().getLogger().log(Level.INFO, "[MySQL-Manager] Neue MySQL Instanz fuer " + database + "/" + user + " erstellt!");
- }
- /**
- * Startet die Verbindung.
- *
- * @return
- * @throws SQLException
- * @throws ClassNotFoundException
- */
- public Connection openConnection() throws SQLException, ClassNotFoundException {
- try {
- CraftCore.getInstance().getLogger().log(Level.INFO, "[MySQL-Manager] Verbindung zur Datenbank '" + database + "' wird aufgebaut!");
- Class.forName("com.mysql.jdbc.Driver");
- connect = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?user=" + user + "&password=" + password + "&autoReconnect=true");
- CraftCore.getInstance().getLogger().log(Level.INFO, "[MySQL-Manager] Verbindung zur Datenbank '" + database + "' hergestellt!");
- } catch (SQLException e) {
- CraftCore.getInstance().getLogger().log(Level.SEVERE, "[MySQL-Manager] Kann die Verbindung zur Datenbank '" + database + "' nicht herstellen!");
- CraftCore.getInstance().getLogger().log(Level.SEVERE, "[MySQL-Manager] " + e.getMessage());
- } catch (ClassNotFoundException e) {
- CraftCore.getInstance().getLogger().log(Level.SEVERE, "[MySQL-Manager] Der MySQL Treiber wurde nicht gefunden!");
- }
- return connect;
- }
- /**
- * @return Die Verbindung
- */
- public Connection getConnection() {
- return connect;
- }
- /**
- * @return Ob eine Verbindung aufgebaut ist
- */
- public boolean hasConnection() {
- try {
- return connect != null || connect.isValid(1);
- } catch (SQLException e) {
- return false;
- }
- }
- /**
- * F�hrt einen MySQL Query aus (welcher Daten �ndert!!!)
- *
- * @param query
- */
- @SuppressWarnings("deprecation")
- public void queryUpdate(final String query) {
- Bukkit.getScheduler().scheduleAsyncDelayedTask(CraftCore.getInstance(), new Runnable() {
- @Override
- public void run() {
- Connection con = connect;
- PreparedStatement st = null;
- try {
- st = con.prepareStatement(query);
- st.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- closeRessources(null, st);
- }
- }
- });
- }
- /**
- * F�hrt einen MySQL Query aus und gibt die Ausgabe zur�ck. KEINE DATEN �NDERUNG M�GLICH!
- *
- * @param query
- * @return
- */
- public ResultSet getQuery(String query) {
- try {
- PreparedStatement stmt = connect.prepareStatement(query);
- return stmt.executeQuery(query);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return null;
- }
- public void closeRessources(ResultSet rs, PreparedStatement st) {
- if (rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (st != null) {
- try {
- st.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public void closeConnection() {
- try {
- connect.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- connect = null;
- }
- }
- public String getDatabase() {
- return database;
- }
- public String getUser() {
- return user;
- }
- public void setDatabase(String database) {
- this.database = database;
- }
- public void setUser(String user) {
- this.user = user;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement