Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. package fr.gunterlucas.box.sql;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8.  
  9. import org.bukkit.entity.Player;
  10.  
  11. import fr.gunterlucas.box.Main;
  12.  
  13. public class SqlConnection {
  14.  
  15. private Connection connection;
  16. private String urlbase,host,database,user,pass;
  17. private Main main;
  18.  
  19. public SqlConnection(Main main, String urlbase, String host, String database, String user, String pass) {
  20.  
  21. this.main = main;
  22. this.urlbase = urlbase;
  23. this.host = host;
  24. this.database = database;
  25. this.user = user;
  26. this.pass = pass;
  27.  
  28. }
  29.  
  30. public void connection() {
  31.  
  32. if(!isConnected()) {
  33.  
  34. try {
  35. connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  36. System.out.println("[PvP-BOX] Connected ok !");
  37. } catch (SQLException e) {
  38. e.printStackTrace();
  39. }
  40.  
  41. }
  42.  
  43. }
  44.  
  45. public void disconnect() {
  46.  
  47. if(isConnected()) {
  48.  
  49. try {
  50. connection.close();
  51. System.out.println("Connected Off !");
  52. } catch (SQLException e) {
  53. e.printStackTrace();
  54. }
  55.  
  56. }
  57.  
  58. }
  59.  
  60. public boolean isConnected() {
  61.  
  62. return connection != null;
  63.  
  64. }
  65.  
  66. public void createAccount(Player player) {
  67.  
  68. if(!hasAccount(player)) {
  69.  
  70. try {
  71. PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(uuid,coins,kit) VALUES (?,?,?)");
  72. q.setString(1, player.getUniqueId().toString());
  73. q.setInt(2, 10);
  74. q.setInt(3, 0);
  75. q.execute();
  76. q.close();
  77. } catch (SQLException e) {
  78. e.printStackTrace();
  79. }
  80.  
  81. }
  82.  
  83. }
  84.  
  85. public boolean hasAccount(Player player) {
  86.  
  87. try {
  88. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  89. q.setString(1, player.getUniqueId().toString());
  90. ResultSet resultat = q.executeQuery();
  91. boolean hasAccount = resultat.next();
  92. q.close();
  93. return hasAccount;
  94. } catch (SQLException e) {
  95. e.printStackTrace();
  96. }
  97.  
  98. return false;
  99.  
  100. }
  101.  
  102. public Connection getConnection() {
  103. return connection;
  104. }
  105.  
  106. public PlayerData createPlayerData(Player player) {
  107.  
  108. if(!main.dataPlayers.containsKey(player)){
  109. try {
  110. PreparedStatement rs = connection.prepareStatement("SELECT coins, kit FROM joueurs WHERE uuid = ?");
  111. rs.setString(1, player.getUniqueId().toString());
  112. ResultSet resultats = rs.executeQuery();
  113.  
  114. int coins = 0;
  115. int kit = 0;
  116.  
  117. while(resultats.next()){
  118. coins = resultats.getInt("coins");
  119. kit = resultats.getInt("kit");
  120. }
  121.  
  122. PlayerData dataP = new PlayerData();
  123. dataP.setCoins(coins);
  124. dataP.setKit(kit);
  125. return dataP;
  126.  
  127.  
  128. } catch (SQLException e) {
  129. e.printStackTrace();
  130. }
  131. }
  132.  
  133. return new PlayerData();
  134.  
  135. }
  136.  
  137. public void updatePlayerData(Player player) {
  138.  
  139. if(main.dataPlayers.containsKey(player)) {
  140.  
  141. PlayerData dataP = main.dataPlayers.get(player);
  142. int coins = dataP.getCoins();
  143. int kit = dataP.getKit();
  144.  
  145. try {
  146.  
  147. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ?, kit = ? WHERE uuid = ?");
  148. rs.setInt(1, coins);
  149. rs.setInt(2, kit);
  150. rs.setString(3, player.getUniqueId().toString());
  151. rs.executeUpdate();
  152. rs.close();
  153.  
  154. } catch (SQLException e) {
  155. e.printStackTrace();
  156. }
  157.  
  158. }
  159.  
  160. }
  161.  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement