· 6 years ago · Jul 09, 2019, 11:00 PM
1package fr.souyard;
2
3import com.zaxxer.hikari.HikariConfig;
4import com.zaxxer.hikari.HikariDataSource;
5import org.bukkit.Bukkit;
6import org.bukkit.ChatColor;
7
8import java.sql.Connection;
9import java.sql.SQLException;
10import java.sql.Statement;
11import java.util.UUID;
12
13public class MySQLdatabase {
14
15 private HikariDataSource hikari;
16 private Main main;
17
18 public MySQLdatabase(Main main){
19 this.main = main;
20 }
21
22
23 public MySQLdatabase setup(){
24 StringBuilder sb = new StringBuilder();
25 //host, port, database
26 sb.append("jdbc:mysql://").append("localhost").append(":").append("3306").append("/").append("prodigy").append("?useSSL=false");
27 try {
28 HikariConfig config = new HikariConfig();
29 config.setJdbcUrl("jdbc:mysql://localhost:3306/prodigy");
30 config.setUsername("root");
31 config.setPassword("marsatak");
32 config.addDataSourceProperty("cachePrepStmts", "true");
33 config.addDataSourceProperty("prepStmtCacheSize", "250");
34 config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
35
36 hikari = new HikariDataSource(config);
37 } catch (Exception e) {
38
39 Bukkit.getConsoleSender().sendMessage(ChatColor.GOLD + "MySQL Connect Error: " + "Connection to database has failed ! ProdigyCosmetic will use flatDatabase");
40 e.printStackTrace();
41 }
42
43 createTable();
44 return this;
45 }
46
47 /**
48 * Create table database
49 */
50 public void createTable(){
51 try(Connection connection = hikari.getConnection();
52 Statement statement = connection.createStatement()){
53 statement.executeUpdate("CREATE TABLE IF NOT EXISTS Minions(UUID varchar(36), minion varchar(36))");
54 } catch (SQLException e) {
55 e.printStackTrace();
56 }
57 }
58
59
60
61
62
63 /**
64 * Cherche dans la base de donnée
65 * @param uuid
66 */
67 public void saveInAsync(UUID uuid){
68
69 }
70
71 /**
72 * Sauvegarder dans la base de donnée
73 * @param uuid
74 */
75 public void saveOutAsync(UUID uuid){
76
77 }
78}