Advertisement
Guest User

Untitled

a guest
May 11th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.54 KB | None | 0 0
  1. package me.matthew.zkits.manager.mysql;
  2.  
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.util.UUID;
  8.  
  9. import org.bukkit.Bukkit;
  10.  
  11. import lombok.Getter;
  12. import me.matthew.zkits.manager.SystemManager;
  13. import me.matthew.zkits.manager.profile.Profile;
  14.  
  15. public class MySqlManager {
  16.    
  17.     @Getter private MySql mysql;
  18.    
  19.     public MySqlManager() {
  20.         if (SystemManager.getSettingsfile().getConfig().getBoolean("mysql.enabled") == true) {
  21.             this.mysql = new MySql(SystemManager.getSettingsfile().getConfig().getString("mysql.host"),
  22.                     SystemManager.getSettingsfile().getConfig().getInt("mysql.port"),
  23.                     SystemManager.getSettingsfile().getConfig().getString("mysql.database"),
  24.                     SystemManager.getSettingsfile().getConfig().getString("mysql.username"),
  25.                     SystemManager.getSettingsfile().getConfig().getString("mysql.password"));
  26.             connect();
  27.         }
  28.     }
  29.    
  30.     public Boolean isConnected() {
  31.         return SystemManager.getSettingsfile().getConfig().getBoolean("mysql.enabled") && getMysql().getConnection() != null;
  32.     }
  33.    
  34.     public void connect() {
  35.         if (!isConnected()) {
  36.             try {
  37.                 getMysql().setConnection(DriverManager.getConnection("jdbc:mysql://" + getMysql().getHost() + ":" + getMysql().getPort() + "/" + getMysql().getDatabase() + "?autoReconnect=true", getMysql().getUsername(), getMysql().getPassword()));
  38.                 System.out.println("MYSQL has been connected.");
  39.                 createTable();
  40.             } catch (SQLException e) {
  41.                 System.out.println("MYSQL has not connected.");
  42.             }
  43.         }
  44.     }
  45.    
  46.     public void disconnect() {
  47.         try {
  48.             getMysql().getConnection().close();
  49.         } catch (SQLException e) {
  50.             e.printStackTrace();
  51.         }
  52.     }
  53.    
  54.     public void createTable() {
  55.         if (isConnected()) {
  56.             try {
  57.                 PreparedStatement preparedstatement = getStatement("CREATE TABLE IF NOT EXISTS users (uuid VARCHAR(255), name VARCHAR(255), balance DOUBLE, kills INT, deaths INT)");
  58.                 preparedstatement.executeUpdate();
  59.                 preparedstatement = getStatement("CREATE TABLE IF NOT EXISTS users (name VARCHAR(255), balance DOUBLE, kills INT, point INT)");
  60.             } catch (SQLException e) {
  61.                
  62.             }
  63.         }
  64.     }
  65.    
  66.     public PreparedStatement getStatement(String string) {
  67.         if (isConnected()) {
  68.             PreparedStatement preparedstatement;
  69.             try {
  70.                 preparedstatement = getMysql().getConnection().prepareStatement(string);
  71.                 return preparedstatement;
  72.             } catch (SQLException e) {
  73.                 e.printStackTrace();
  74.             }
  75.         }
  76.         return null;
  77.     }
  78.    
  79.     public ResultSet getResult(String string) {
  80.         if (isConnected()) {
  81.             PreparedStatement preparedstatement;
  82.             ResultSet resultset;
  83.             try {
  84.                 preparedstatement = getStatement(string);
  85.                 resultset = preparedstatement.executeQuery();
  86.                 return resultset;
  87.             } catch (SQLException e) {
  88.                 e.printStackTrace();
  89.             }
  90.         }
  91.         return null;
  92.     }
  93.    
  94.     public void createProfile(String uuid) {
  95.         if (isConnected()) {
  96.             try {
  97.                 PreparedStatement preparedstatement = getStatement("INSERT INTO users (uuid, name, balance, kills, deaths) VALUES ('" + uuid + "', '" + Bukkit.getServer().getOfflinePlayer(UUID.fromString(uuid)).getName() + "', '" + SystemManager.getProfilemanager().getProfile(UUID.fromString(uuid)).getBalance() + "', '" + SystemManager.getProfilemanager().getProfile(UUID.fromString(uuid)).getKills() + "', '" + SystemManager.getProfilemanager().getProfile(UUID.fromString(uuid)).getDeaths() + "')");
  98.                 preparedstatement.executeUpdate();
  99.             } catch (SQLException e) {
  100.                
  101.             }
  102.         }
  103.     }
  104.    
  105.     public Boolean isRegistered(String uuid) {
  106.         if (isConnected()) {
  107.             try {
  108.                 PreparedStatement preparedstatement = getStatement("SELECT * FROM `users` WHERE uuid= ?");
  109.                 preparedstatement.setString(1, uuid);
  110.                 ResultSet resultset = preparedstatement.executeQuery();
  111.                 Boolean user = resultset.next();
  112.                 preparedstatement.close();
  113.                 resultset.close();
  114.                 return user;
  115.             } catch (Exception e) {
  116.                 System.out.println("Error with registered checking...");
  117.                 return false;
  118.             }
  119.         }
  120.         return false;
  121.     }
  122.    
  123.     public void saveProfile(Profile profile) {
  124.         if (isConnected()) {
  125.             if (!SystemManager.getMysqlmanager().isRegistered(profile.getUuid().toString())) {
  126.                 SystemManager.getMysqlmanager().createProfile(profile.getUuid().toString());
  127.             }
  128.             SystemManager.getMysqlmanager().setBalance(profile.getUuid().toString(), profile.getBalance());
  129.             SystemManager.getMysqlmanager().setKills(profile.getUuid().toString(), profile.getKills());
  130.             SystemManager.getMysqlmanager().setDeaths(profile.getUuid().toString(), profile.getDeaths());
  131.         }
  132.     }
  133.    
  134.     public Double getBalance(String uuid) {
  135.         if (isConnected()) {
  136.             try {
  137.                 PreparedStatement preparedstatement = getStatement("SELECT * FROM `users` WHERE uuid= ?");
  138.                 preparedstatement.setString(1, uuid);
  139.                 ResultSet resultset = preparedstatement.executeQuery();
  140.                 resultset.next();
  141.                 Double balance = resultset.getDouble("balance");
  142.                 preparedstatement.close();
  143.                 resultset.close();
  144.                 return balance;
  145.             } catch (Exception e) {
  146.                 System.out.println("Error with balance checking...");
  147.                 return null;
  148.             }
  149.         }
  150.         return 0.0;
  151.     }
  152.    
  153.     public Integer getKills(String uuid) {
  154.         if (isConnected()) {
  155.             try {
  156.                 PreparedStatement preparedstatement = getStatement("SELECT * FROM `users` WHERE uuid= ?");
  157.                 preparedstatement.setString(1, uuid);
  158.                 ResultSet resultset = preparedstatement.executeQuery();
  159.                 resultset.next();
  160.                 Integer kills = resultset.getInt("kills");
  161.                 preparedstatement.close();
  162.                 resultset.close();
  163.                 return kills;
  164.             } catch (Exception e) {
  165.                 System.out.println("Error with kills checking...");
  166.                 return null;
  167.             }
  168.         }
  169.         return 0;
  170.     }
  171.    
  172.     public Integer getDeaths(String uuid) {
  173.         if (isConnected()) {
  174.             try {
  175.                 PreparedStatement preparedstatement = getStatement("SELECT * FROM `users` WHERE uuid= ?");
  176.                 preparedstatement.setString(1, uuid);
  177.                 ResultSet resultset = preparedstatement.executeQuery();
  178.                 resultset.next();
  179.                 Integer deaths = resultset.getInt("deaths");
  180.                 preparedstatement.close();
  181.                 resultset.close();
  182.                 return deaths;
  183.             } catch (Exception e) {
  184.                 System.out.println("Error with deaths checking...");
  185.                 return null;
  186.             }
  187.         }
  188.         return 0;
  189.     }
  190.    
  191.     public void setBalance(String uuid, Double balance) {
  192.         if (isConnected()) {
  193.             try {
  194.                 PreparedStatement preparedstatement = getStatement("UPDATE users SET balance= ? WHERE uuid= ?");
  195.                 preparedstatement.setDouble(1, balance);
  196.                 preparedstatement.setString(2, uuid);
  197.                 preparedstatement.executeUpdate();
  198.                 preparedstatement.close();
  199.             } catch (Exception e) {
  200.                 System.out.println("Error with updating balance...");
  201.                 return;
  202.             }
  203.         }
  204.     }
  205.    
  206.     public void setKills(String uuid, Integer kills) {
  207.         if (isConnected()) {
  208.             try {
  209.                 PreparedStatement preparedstatement = getStatement("UPDATE users SET kills= ? WHERE uuid= ?");
  210.                 preparedstatement.setInt(1, kills);
  211.                 preparedstatement.setString(2, uuid);
  212.                 preparedstatement.executeUpdate();
  213.                 preparedstatement.close();
  214.             } catch (Exception e) {
  215.                 System.out.println("Error with updating kills...");
  216.                 return;
  217.             }
  218.         }
  219.     }
  220.    
  221.     public void setDeaths(String uuid, Integer deaths) {
  222.         if (isConnected()) {
  223.             try {
  224.                 PreparedStatement preparedstatement = getStatement("UPDATE users SET deaths= ? WHERE uuid= ?");
  225.                 preparedstatement.setInt(1, deaths);
  226.                 preparedstatement.setString(2, uuid);
  227.                 preparedstatement.executeUpdate();
  228.                 preparedstatement.close();
  229.             } catch (Exception e) {
  230.                 System.out.println("Error with updating deaths...");
  231.                 return;
  232.             }
  233.         }
  234.     }
  235.    
  236. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement