· 5 years ago · Jul 18, 2020, 12:42 PM
1public class SaveDatas {
2
3 private String[] materials;
4 private String[] displayname;
5 private String[] lore;
6 private int[] amount;
7 private String casename;
8
9 SaveDatas(String casename, String[] materials, String[] displayname, String[] lore, int[] amount) {
10 this.materials = materials;
11 this.casename = casename;
12 this.displayname = displayname;
13 this.lore = lore;
14 this.amount = amount;
15
16 }
17
18 SaveDatas(String casename) {
19 this.casename = casename;
20 }
21
22 SaveDatas() {}
23
24 void createTable() {
25 try {
26 String command = "CREATE TABLE IF NOT EXISTS CaseTable (ID INT(100), Casename VARCHAR(100), Material " +
27 "VARCHAR(100)," +
28 "Displayname VARCHAR(100),Lore VARCHAR(100),Amount INT(100))";
29 PreparedStatement preparedStatement = MySQL.getStatement(command);
30 preparedStatement.executeUpdate();
31 preparedStatement.close();
32 } catch (Exception e) {
33 e.printStackTrace();
34 }
35 }
36
37 void save(int i) {
38 try {
39 String command = "INSERT INTO CaseTable (ID, Casename, Material, Displayname, Lore, Amount) VALUES (?, ?," +
40 " ?, ?, ?, ?)";
41 PreparedStatement preparedStatement = MySQL.getStatement(command);
42
43 preparedStatement.setInt(1, i);
44 preparedStatement.setString(2, casename);
45 preparedStatement.setString(3, materials[i]);
46 preparedStatement.setString(4, displayname[i]);
47 preparedStatement.setString(5, lore[i]);
48 preparedStatement.setInt(6, amount[i]);
49
50 preparedStatement.executeUpdate();
51 preparedStatement.close();
52
53
54 } catch (Exception e) {
55 e.printStackTrace();
56 }
57 }
58
59
60 String[] getMaterials() {
61 try {
62 PreparedStatement preparedStatement = MySQL.getStatement("SELECT Material FROM CaseTable WHERE Casename=" +
63 " ?");
64 preparedStatement.setString(1, casename);
65 ResultSet resultSet = preparedStatement.executeQuery();
66
67 int count = 0;
68 int size = 0;
69 if(resultSet != null) {
70 resultSet.last();
71 size = resultSet.getRow();
72 }
73 String[] s = new String[size];
74 resultSet.first();
75 do {
76 s[count] = resultSet.getString("Material");
77 count++;
78 } while (resultSet.next());
79 preparedStatement.close();
80 resultSet.close();
81 return s;
82 } catch (Exception e) {
83 e.printStackTrace();
84 }
85 return null;
86 }
87
88 public String[] getDisplayname() {
89 try {
90 PreparedStatement preparedStatement = MySQL.getStatement("SELECT Displayname FROM CaseTable WHERE Casename=" +
91 " ?");
92 preparedStatement.setString(1, casename);
93 ResultSet resultSet = preparedStatement.executeQuery();
94 int count = 0;
95 int size = 0;
96 if(resultSet != null) {
97 resultSet.last();
98 size = resultSet.getRow();
99 }
100 String[] s = new String[size];
101
102 resultSet.first();
103 do {
104 s[count] = resultSet.getString("Displayname");
105 count++;
106 } while (resultSet.next());
107 preparedStatement.close();
108 resultSet.close();
109 return s;
110
111 } catch (Exception e) {
112 e.printStackTrace();
113 }
114 return null;
115 }
116
117 public String[] getLores() {
118 try {
119 PreparedStatement preparedStatement = MySQL.getStatement("SELECT Lore FROM CaseTable WHERE Casename=" +
120 " ?");
121 preparedStatement.setString(1, casename);
122 ResultSet resultSet = preparedStatement.executeQuery();
123 int count = 0;
124 int size = 0;
125 if(resultSet != null) {
126 resultSet.last();
127 size = resultSet.getRow();
128 }
129 String[] s = new String[size];
130
131 resultSet.first();
132 do {
133 s[count] = resultSet.getString("Lore");
134 count++;
135 } while (resultSet.next());
136 preparedStatement.close();
137 resultSet.close();
138 return s;
139
140 } catch (Exception e) {
141 e.printStackTrace();
142 }
143
144 return null;
145 }
146
147 public int[] getAmount() {
148 try {
149 PreparedStatement preparedStatement = MySQL.getStatement("SELECT Amount FROM CaseTable WHERE Casename=" +
150 " ?");
151 preparedStatement.setString(1, casename);
152 ResultSet resultSet = preparedStatement.executeQuery();
153
154 int count = 0;
155 int size = 0;
156 if(resultSet != null) {
157 resultSet.last();
158 size = resultSet.getRow();
159 }
160 int[] ints = new int[size];
161
162 resultSet.first();
163 do {
164 ints[count] = resultSet.getInt("Amount");
165 count++;
166 } while (resultSet.next());
167 preparedStatement.close();
168 resultSet.close();
169 return ints;
170 } catch (Exception e) {
171 e.printStackTrace();
172 }
173 return null;
174 }
175
176 public boolean existst() {
177
178 try {
179 PreparedStatement preparedStatement = MySQL.getStatement("SELECT * FROM CaseTable WHERE Casename = ?");
180 preparedStatement.setString(1, casename);
181 ResultSet resultSet = preparedStatement.executeQuery();
182 boolean user = resultSet.next();
183 resultSet.close();
184 resultSet.close();
185 return user;
186 } catch (Exception ex) {
187 ex.printStackTrace();
188 }
189
190
191 return false;
192 }
193
194 void delete() {
195 try {
196 PreparedStatement preparedStatement = MySQL.getStatement("DELETE FROM CaseTable WHERE Casename = ?");
197 preparedStatement.setString(1, casename);
198 preparedStatement.executeUpdate();
199 preparedStatement.close();
200 } catch (Exception e) {
201 e.printStackTrace();
202 }
203 }
204
205 List<String> getAllCaseNames() {
206 try {
207 PreparedStatement preparedStatement = MySQL.getStatement("SELECT Casename FROM CaseTable");
208 ResultSet resultSet = preparedStatement.executeQuery();
209 int count = 0;
210 int size = 0;
211 if(resultSet != null) {
212 resultSet.last();
213 size = resultSet.getRow();
214 }
215 String[] s = new String[size];
216 resultSet.first();
217 do {
218 s[count] = resultSet.getString("Casename");
219 count++;
220
221 } while (resultSet.next());
222
223 preparedStatement.close();
224 resultSet.close();
225 Set<String> stringSet = new HashSet<>();
226 for (String element : s) {
227 stringSet.add(element);
228 }
229 List<String> stringList = new ArrayList<>();
230 for (String element : stringSet) {
231 stringList.add(element);
232 }
233
234 if(stringList != null) {
235 return stringList;
236 }
237
238 } catch (Exception e) {
239 e.printStackTrace();
240 }
241 return null;
242 }
243}