Mineglorious

SqlConnection

Jul 17th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. package fr.Mineglory.PluginTest;
  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. import org.bukkit.entity.Player;
  9.  
  10. public class SqlConnection {
  11.  
  12. private Connection connection;
  13. private String urlbase,host,database,user,pass;
  14.  
  15. public SqlConnection(String urlbase, String host, String database, String user, String pass) {
  16. this.urlbase = urlbase;
  17. this.host = host;
  18. this.database = database;
  19. this.user = user;
  20. this.pass = pass;
  21. }
  22.  
  23. public SqlConnection(PluginTest pluginTest) {
  24. // TODO Auto-generated constructor stub
  25. }
  26.  
  27. public void connection(){
  28. if(!isConnected()){
  29. try {
  30. connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  31. System.out.println("connected ok");
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. }
  37.  
  38. public void disconnect(){
  39. if(isConnected()){
  40. try {
  41. connection.close();
  42. System.out.println("connected off");
  43. } catch (SQLException e) {
  44. e.printStackTrace();
  45. }
  46. }
  47. }
  48. /*
  49. * INSERT
  50. * UPDATE
  51. * DELETE
  52. * SELECT
  53. *
  54. * PREPARER ?,?
  55. * REMPLACER ? PAR UNE VALEUR
  56. * EXECUTE
  57. */
  58. public boolean isConnected(){
  59. return connection != null;
  60. }
  61. public void createAccount(Player player){
  62. if(!hasAccount(player)){
  63. //INSERT
  64.  
  65. try {
  66. PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(uuid,PointDeVote) VALUES (?,?)");
  67. q.setString(1, player.getUniqueId().toString());
  68. q.setInt(2, 100);
  69. q.execute();
  70. q.close();
  71. } catch (SQLException e) {
  72. e.printStackTrace();
  73. }
  74.  
  75.  
  76. }
  77. }
  78.  
  79. public boolean hasAccount(Player player){
  80. //SELECT
  81.  
  82. try {
  83. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  84. q.setString(1, player.getUniqueId().toString());
  85. ResultSet resultat = q.executeQuery();
  86. boolean hasAccount = resultat.next();
  87. q.close();
  88. return hasAccount;
  89. } catch (SQLException e) {
  90. e.printStackTrace();
  91. }
  92.  
  93. return false;
  94. }
  95.  
  96. public int getBalance(Player player){
  97. //SELECT
  98.  
  99. try {
  100. PreparedStatement q = connection.prepareStatement("SELECT PointDeVote FROM joueurs WHERE uuid = ?");
  101. q.setString(1, player.getUniqueId().toString());
  102.  
  103. int balance = 0;
  104. ResultSet rs = q.executeQuery();
  105.  
  106. while(rs.next()){
  107. balance = rs.getInt("PointDeVote");
  108. }
  109.  
  110. q.close();
  111.  
  112. return balance;
  113.  
  114. } catch (SQLException e) {
  115. e.printStackTrace();
  116. }
  117.  
  118. return 0;
  119. }
  120.  
  121. public void addPdv(Player player,int amount){
  122. //UPDATE
  123.  
  124. int balance = getBalance(player);
  125. int newbalance = balance + amount;
  126.  
  127. try {
  128. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET PointDeVote = ? WHERE uuid = ?");
  129. rs.setInt(1, newbalance);
  130. rs.setString(2, player.getUniqueId().toString());
  131. rs.executeUpdate();
  132. rs.close();
  133.  
  134. } catch (SQLException e) {
  135. e.printStackTrace();
  136. }
  137.  
  138. }
  139.  
  140. public void removePdv(Player player,int amount){
  141. //UPDATE
  142.  
  143. int balance = getBalance(player);
  144. int newbalance = balance - amount;
  145.  
  146. if(newbalance <= 0){
  147. return;
  148. }
  149.  
  150. try {
  151. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET PointDeVote = ? WHERE uuid = ?");
  152. rs.setInt(1, newbalance);
  153. rs.setString(2, player.getUniqueId().toString());
  154. rs.executeUpdate();
  155. rs.close();
  156.  
  157. } catch (SQLException e) {
  158. e.printStackTrace();
  159. }
  160.  
  161. }
  162.  
  163.  
  164.  
  165. }
Add Comment
Please, Sign In to add comment