Guest User

Untitled

a guest
Sep 18th, 2016
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.81 KB | None | 0 0
  1. package fr.elyrion.core;
  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.elyrion.core.cache.DataPlayer;
  12. import fr.elyrion.core.grades.Grades;
  13.  
  14. public class SQLConnection {
  15.  
  16. private Connection connection;
  17. private String urlbase,host,database,user,pass;
  18. private Core pl;
  19.  
  20. public SQLConnection(Core pl, String urlbase, String host, String database, String user, String pass) {
  21. this.urlbase = urlbase;
  22. this.host = host;
  23. this.database = database;
  24. this.user = user;
  25. this.pl = pl;
  26. this.pass = pass;
  27. }
  28.  
  29. public void connect(){
  30. if(!isConnected()){
  31. try {
  32. connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  33. System.out.println("Connection Database [OK]");
  34. } catch (SQLException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. }
  39.  
  40. public void disconnect(){
  41. if(isConnected()){
  42. try {
  43. connection.close();
  44. System.out.println("Disconnection Database [OK]");
  45. } catch (SQLException e) {
  46. e.printStackTrace();
  47. }
  48. }
  49. }
  50.  
  51. public boolean isConnected(){
  52. return connection != null;
  53. }
  54. //rdheqh
  55.  
  56. public void createAccount(Player p){
  57. if(!hasAccount(p)){
  58.  
  59. try {
  60. PreparedStatement q = (PreparedStatement) connection.prepareStatement("INSERT INTO joueurs(uuid,grades) VALUES (?,?)");
  61. q.setString(1, p.getUniqueId().toString());
  62. q.setInt(2, Grades.JOUEUR.getPower());
  63. q.execute();
  64. q.close();
  65. } catch (SQLException e) {
  66. e.printStackTrace();
  67. }
  68.  
  69.  
  70. }
  71. }
  72.  
  73. public boolean hasAccount(Player p){
  74. //SELECT
  75.  
  76. try {
  77. PreparedStatement q = (PreparedStatement) connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  78. q.setString(1, p.getUniqueId().toString());
  79. ResultSet resultat = q.executeQuery();
  80. boolean hasAccount = resultat.next();
  81. q.close();
  82. return hasAccount;
  83. } catch (SQLException e) {
  84. e.printStackTrace();
  85. }
  86.  
  87. return false;
  88. }
  89.  
  90. //hrhqrh
  91. public void setGrade(Player p, Grades g){
  92.  
  93. DataPlayer dataP = pl.dataPlayers.get(p);
  94. dataP.setGrade(g);
  95. pl.dataPlayers.remove(p);
  96. pl.dataPlayers.put(p, dataP);
  97.  
  98. }
  99.  
  100. public Grades getGrade(Player p){
  101.  
  102. if(pl.dataPlayers.containsKey(p)){
  103. DataPlayer dataP = pl.dataPlayers.get(p);
  104. return dataP.getGrade();
  105. }
  106.  
  107. return Grades.JOUEUR;
  108. }
  109.  
  110. public DataPlayer createDataPlayer(Player p){
  111.  
  112. if(pl.dataPlayers.containsKey(p)){
  113. try{
  114. PreparedStatement rs = connection.prepareStatement("SELECT grade FROM joueurs WHERE uuid = ?");
  115. rs.setString(1, p.getUniqueId().toString());
  116. ResultSet resultats = rs.executeQuery();
  117.  
  118. Grades g = Grades.JOUEUR;
  119.  
  120. while(resultats.next()){
  121. g = Grades.powerToRank(resultats.getInt("grade"));
  122. }
  123.  
  124. DataPlayer dataP = new DataPlayer();
  125. dataP.setGrade(g);
  126.  
  127. } catch (SQLException e) {
  128. e.printStackTrace();
  129. }
  130. }
  131.  
  132. return new DataPlayer();
  133.  
  134. }
  135.  
  136. public void majPlayerData(Player p){
  137.  
  138. if(pl.dataPlayers.containsKey(p)){
  139.  
  140. DataPlayer dataP = pl.dataPlayers.get(p);
  141. Grades g = dataP.getGrade();
  142. int power = g.getPower();
  143.  
  144. try {
  145. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET grade = ? WHERE uuid = ?");
  146. rs.setInt(1, power);
  147. rs.setString(2, p.getUniqueId().toString());
  148. rs.executeUpdate();
  149. rs.close();
  150. } catch (SQLException e) {
  151. e.printStackTrace();
  152. }
  153.  
  154. }
  155.  
  156. }
  157.  
  158. }
Add Comment
Please, Sign In to add comment