· 6 years ago · Sep 26, 2019, 10:52 PM
1package me.infinityshop.database;
2
3import java.sql.Connection;
4import java.sql.DriverManager;
5import java.sql.PreparedStatement;
6import java.sql.ResultSet;
7import java.sql.SQLException;
8
9import org.bukkit.Bukkit;
10import org.bukkit.command.ConsoleCommandSender;
11import org.bukkit.entity.Player;
12
13import me.infinityshop.main.InfinityShop;
14
15@SuppressWarnings("unused")
16public class MySQL {
17
18 private InfinityShop plugin = InfinityShop.plugin;
19
20 private String host, database, name, password, prefix = "[InfinityShop] §r";
21 private int port;
22 private Connection con;
23 private ConsoleCommandSender console = Bukkit.getConsoleSender();
24
25 public MySQL(String host, String database, String name, String password, int port) {
26 this.host = host;
27 this.database = database;
28 this.name = name;
29 this.password = password;
30 this.port = port;
31 }
32
33
34 public void open() {
35 try {
36 con = DriverManager.getConnection("jdbc:mysql://" + host + ":"
37 + port + "/" + database + "?autoReconnect=true", name,
38 password);
39 console.sendMessage(prefix + "Conexão com MySQL Aceita!");
40 } catch (SQLException e) {
41 console.sendMessage(prefix + "Conexão com MySQL Não Aceita!");
42 con = null;
43 }
44 }
45
46
47 public void close() {
48 if (con != null) {
49 try {
50 con.close();
51 console.sendMessage(prefix + "§aConexão com MySQL §a§lFechada");
52 } catch (SQLException e) {
53 console.sendMessage(prefix
54 + "§fOcorreu um erro ao desconectar do MySQL");
55 }
56 }
57 }
58
59 public void create() {
60 if (con != null) {
61 try {
62 PreparedStatement stm = (PreparedStatement)
63 con.prepareStatement("CREATE TABLE IF NOT EXISTS Drops("
64 + "`player` VARCHAR(32) NOT NULL, `serialize` text)");
65 stm.executeUpdate();
66 console.sendMessage(prefix
67 + "§aTabelas carregadas com sucesso!");
68 } catch (SQLException e) {
69 console.sendMessage(prefix
70 + "§fOcorreu um erro ao criar a tabela!");
71 e.printStackTrace();
72 con = null;
73 return;
74 }
75 }
76 }
77 boolean playerb = false;
78
79 public boolean isExist(String player) {
80 Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
81 @Override
82 public void run() {
83 try {
84 PreparedStatement stm = con.prepareStatement("SELECT * FROM Drops WHERE player = ?");
85 stm.setString(1, player);
86 ResultSet rs = stm.executeQuery();
87 while (rs.next())
88 playerb = true;
89 } catch (SQLException e) {
90 playerb = false;
91 }
92 }
93 });
94 return playerb;
95 }
96 String serialize = "";
97
98 public String getSerialize(String player) {
99 Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
100 @Override
101 public void run() {
102 try {
103 PreparedStatement stm = con.prepareStatement("SELECT * FROM Drops WHERE player = ?");
104 stm.setString(1, player);
105 ResultSet rs = stm.executeQuery();
106 while (rs.next())
107 serialize = rs.getString("serialize");
108 } catch (SQLException e) {
109 serialize = "";
110 }
111 }
112 });
113 return serialize;
114 }
115}