· 10 years ago · Jul 13, 2016, 08:15 PM
1package energycube.fr.hub;
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.entity.Player;
10
11public class SQLAPI {
12//https://codeshare.io/165RQ
13 private String url_base, host, name, username, password;
14 private Connection connection;
15
16 public SQLAPI(String url_base, String host, String name, String username,
17 String password) {
18
19 this.url_base = url_base;
20 this.host = host;
21 this.name = name;
22 this.username = username;
23 this.password = password;
24
25 }
26
27 public void Connection() {
28 if (!isConnected()) {
29 try {
30 connection = DriverManager.getConnection(url_base + host + "/"
31 + name, username, password);
32 } catch (SQLException e) {
33 e.printStackTrace();
34 }
35 }
36 }
37
38 public void Unconnection() {
39 if (isConnected()) {
40 try {
41 connection.close();
42 } catch (SQLException e) {
43 e.printStackTrace();
44 }
45 }
46 }
47
48 private boolean isConnected() {
49 try {
50 if (connection == null || connection.isClosed()
51 || !connection.isValid(5)) {
52 return false;
53 } else {
54 return true;
55 }
56 } catch (SQLException e) {
57 e.printStackTrace();
58 }
59 return false;
60 }
61
62 private Connection getConnection() {
63 return connection;
64 }
65
66 public void createTable() {
67
68 try {
69 PreparedStatement sts = getConnection().prepareStatement(
70 "CREATE TABLE IF NOT EXISTS energycube (UUID VARCHAR(30), groups VARCHAR(30), energycoins INT)");
71 sts.executeUpdate();
72 sts.close();
73 } catch (SQLException e) {
74 e.printStackTrace();
75 }
76
77 }
78
79 public String getGrade(Player p) {
80
81 String grade = null;
82 try {
83 PreparedStatement sts = getConnection().prepareStatement(
84 "SELECT groups FROM energycube WHERE UUID = ?");
85 sts.setString(1, p.getUniqueId().toString());
86 ResultSet rs = sts.executeQuery();
87 if (!rs.next()) {
88 return grade;
89 }
90 grade = rs.getString("groups");
91 sts.close();
92 } catch (SQLException e) {
93 e.printStackTrace();
94 }
95 return grade;
96
97 }
98
99 public int getCoins(Player p) {
100
101 int coins = 0;
102 try {
103 PreparedStatement sts = getConnection().prepareStatement(
104 "SELECT energycoins FROM energycube WHERE UUID = ?");
105 sts.setString(1, p.getUniqueId().toString());
106 ResultSet rs = sts.executeQuery();
107 if (!rs.next()) {
108 return coins;
109 }
110 coins = rs.getInt("energycoins");
111 sts.close();
112 } catch (SQLException e) {
113 e.printStackTrace();
114 }
115 return coins;
116
117 }
118
119 public void setCoins(Player p, int value) {
120 try {
121 PreparedStatement sts = getConnection().prepareStatement(
122 "UPDATE energycube SET energycoins = ? WHERE UUID = ?");
123 sts.setInt(1, value);
124 sts.setString(2, p.getUniqueId().toString());
125 sts.executeUpdate();
126 sts.close();
127 } catch (SQLException e) {
128 e.printStackTrace();
129 }
130 }
131
132 public void addMoney(Player player,int amount){
133 //UPDATE
134
135 int balance = getCoins(player);
136 int newbalance = balance + amount;
137
138 try {
139 PreparedStatement rs = connection.prepareStatement("UPDATE energycube SET energycoins = ? WHERE UUID = ?");
140 rs.setInt(1, newbalance);
141 rs.setString(2, player.getUniqueId().toString());
142 rs.executeUpdate();
143 rs.close();
144
145 } catch (SQLException e) {
146 e.printStackTrace();
147 }
148
149 }
150
151 public void setGrade(Player p, String grade) {
152 try {
153 PreparedStatement sts = getConnection().prepareStatement(
154 "UPDATE energycube SET grade = ? WHERE UUID = ?");
155 sts.setString(1, grade);
156 sts.setString(2, p.getUniqueId().toString());
157 sts.executeUpdate();
158 sts.close();
159 } catch (SQLException e) {
160 e.printStackTrace();
161 }
162 }
163
164
165}