Advertisement
GuiHSilva

MySQL class

Jan 3rd, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.80 KB | None | 0 0
  1. package me.guihsilva.nextskyshop.database;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import me.guihsilva.nextskyshop.NextSkyShop;
  10.  
  11.  
  12. public class MySQL {
  13.  
  14.     private static Connection conn;
  15.     private static String user_a;
  16.     private static String pass_a;
  17.     private static String database_a;
  18.     private static String adress_a;
  19.     private static int port_a;
  20.    
  21.     public void host(String user, String pass, String database, String adress, int port) {
  22.         user_a = user;
  23.         pass_a = pass;
  24.         database_a = database;
  25.         adress_a = adress;
  26.         port_a = port;
  27.     }
  28.    
  29.     public static Connection conectar() {
  30.         String conection = "jdbc:mysql://" + adress_a + ":" + port_a + "/" + database_a;
  31.         String user = user_a;
  32.         String pass = pass_a;
  33.         try {
  34.             conn = DriverManager.getConnection(conection, user, pass);
  35.            
  36.             Statement st = conn.createStatement();
  37.  
  38.             st.executeUpdate("CREATE TABLE IF NOT EXISTS `lojas` (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `jogador` VARCHAR(32) NOT NULL, `local` VARCHAR(200), `status` BOOLEAN, `visitas` DOUBLE);");
  39.  
  40.             st.executeUpdate("CREATE TABLE IF NOT EXISTS `jogadores` (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `jogador` VARCHAR(32) NOT NULL, `recompensas` TEXT, `fertilizar` LONG, `money` BOOLEAN, `chatglobal` BOOLEAN, `recebertpa` BOOLEAN, `recebertell` BOOLEAN, `chatcolor` VARCHAR(2), `registro` LONG, `tag_id` VARCHAR(64));");
  41.  
  42.             st.executeUpdate("CREATE TABLE IF NOT EXISTS `staff_reputacao` (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `jogador` VARCHAR(32) NOT NULL, `positivo` BIGINT, `negativo` BIGINT);");
  43.            
  44.             NextSkyShop.print("MySQL conectado!!");
  45.         } catch (SQLException e) {
  46.             e.printStackTrace();
  47.             NextSkyShop.print("§cHouve um erro SQL ao conectar-se com o MYSQL, erro: " + e);
  48.             return null;
  49.         }
  50.         return null;
  51.     }
  52.  
  53.     public static boolean isConnected() {
  54.         boolean available = false;
  55.         if (conn != null) {
  56.             Statement stmt = null;
  57.             ResultSet rs = null;
  58.             try {
  59.                 stmt = conn.createStatement();
  60.                 rs = stmt.executeQuery("SELECT 1");
  61.                 available = true;
  62.             } catch (SQLException e) {
  63.                 available = false;
  64.             } finally {
  65.                 try {
  66.                     if (stmt != null) {
  67.                         stmt.close();
  68.                     }
  69.                     if (rs != null) {
  70.                         rs.close();
  71.                     }
  72.                 } catch (SQLException e) {
  73.                     NextSkyShop.print("§cErro ao fechar o statement/result set: " + e);
  74.                 }
  75.                 rs = null;
  76.                 stmt = null;
  77.             }
  78.         }
  79.         return available;
  80.     }
  81.    
  82.     public static Connection getConn() {
  83.         if (conn == null || !isConnected()) {
  84.             NextSkyShop.print("§cFoi detectado uma conexao invalida ao tentar consultar um dado, tentando reconectar com o banco...");
  85.             conn = null;
  86.             conectar();
  87.         }
  88.         return conn;
  89.     }
  90.     public static void disconnect() {
  91.         conn = null;
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement