Guest User

Untitled

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