Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. package fr.itstimetovape;
  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.Bukkit;
  10. import org.bukkit.entity.Player;
  11.  
  12. public class SqlConnection {
  13.  
  14. private Connection connection;
  15. private String urlbase,host,database,user,pass;
  16.  
  17. public SqlConnection(String urlbase, String host, String database, String user, String pass) {
  18.  
  19. this.urlbase = urlbase;
  20. this.host = host;
  21. this.database = database;
  22. this.user = user;
  23. this.pass = pass;
  24.  
  25.  
  26.  
  27. }
  28.  
  29. public void connection() {
  30.  
  31. if(!isConnected()) {
  32.  
  33. try {
  34. connection = DriverManager.getConnection(urlbase + host + "/" + database, user,pass);
  35. Bukkit.broadcastMessage("§aBoutique MySQL Connecté");
  36. } catch (SQLException e) {
  37.  
  38.  
  39.  
  40. e.printStackTrace();
  41. }
  42. }
  43. }
  44.  
  45. public void disconnect() {
  46.  
  47. if(isConnected()) {
  48.  
  49. try {
  50. connection.close();
  51. Bukkit.broadcastMessage("§aBoutique MySQL Déconnecté");
  52. } catch (SQLException e) {
  53. e.printStackTrace();
  54. }
  55. }
  56.  
  57. }
  58.  
  59. public boolean isConnected() {
  60.  
  61. return connection != null;
  62.  
  63. }
  64.  
  65. public void createAccount(Player player){
  66. if(!hasAccount(player)){
  67. //INSERT
  68.  
  69. try {
  70. PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(uuid, coins, grade) VALUES (?,?,?)");
  71. q.setString(0, player.getUniqueId().toString());
  72. q.setInt(1, 100);
  73. q.setString(2, "joueur");
  74. q.execute();
  75. q.close();
  76. } catch (SQLException e) {
  77. e.printStackTrace();
  78. }
  79.  
  80.  
  81. }
  82. }
  83.  
  84. public boolean hasAccount(Player player){
  85. //SELECT
  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. public int getBalance(Player player){
  102. //SELECT
  103.  
  104. try {
  105. PreparedStatement q = connection.prepareStatement("SELECT coins FROM joueurs WHERE uuid = ?");
  106. q.setString(1, player.getUniqueId().toString());
  107.  
  108. int balance = 0;
  109. ResultSet rs = q.executeQuery();
  110.  
  111. while(rs.next()){
  112. balance = rs.getInt("coins");
  113. }
  114.  
  115. q.close();
  116.  
  117. return balance;
  118.  
  119. } catch (SQLException e) {
  120. e.printStackTrace();
  121. }
  122.  
  123. return 0;
  124. }
  125.  
  126. public void addMoney(Player player,int amount){
  127. //UPDATE
  128.  
  129. int balance = getBalance(player);
  130. int newbalance = balance + amount;
  131.  
  132. try {
  133. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  134. rs.setInt(1, newbalance);
  135. rs.setString(2, player.getUniqueId().toString());
  136. rs.executeUpdate();
  137. rs.close();
  138.  
  139. } catch (SQLException e) {
  140. e.printStackTrace();
  141. }
  142.  
  143. }
  144.  
  145. public void removeMoney(Player player,int amount){
  146. //UPDATE
  147.  
  148. int balance = getBalance(player);
  149. int newbalance = balance - amount;
  150.  
  151. if(newbalance <= 0){
  152. return;
  153. }
  154.  
  155. try {
  156. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  157. rs.setInt(1, newbalance);
  158. rs.setString(2, player.getUniqueId().toString());
  159. rs.executeUpdate();
  160. rs.close();
  161.  
  162. } catch (SQLException e) {
  163. e.printStackTrace();
  164. }
  165.  
  166. }
  167.  
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement