Advertisement
Guest User

Untitled

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