Advertisement
Guest User

Untitled

a guest
Sep 4th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. package fr.shenkaii.coins;
  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. }
  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.  
  41. try {
  42. connection.close();
  43. System.out.println("Connected off");
  44. } catch (SQLException e) {
  45. // TODO Auto-generated catch block
  46. e.printStackTrace();
  47. }
  48.  
  49. }
  50.  
  51. }
  52.  
  53. /*
  54. * INSERT
  55. * UPDATE
  56. * DELATE
  57. * SELECT
  58. *
  59. * PREPARER ?,?
  60. * REMPLACER LES ? PAR DES VALEURS
  61. * EXECUTE
  62. *
  63. *
  64. */
  65.  
  66.  
  67.  
  68.  
  69. public boolean isConnected(){
  70. return connection != null;
  71. }
  72.  
  73. public void createAccount(Player player){
  74. if(!hasAccount(player)){
  75. //INSERT
  76.  
  77.  
  78. try {
  79. PreparedStatement q = connection.prepareStatement("INSERT INTO joueur(uuid,coins,grade) VALUES (?,?,?)");
  80. q.setString(1, player.getUniqueId().toString());
  81. q.setInt(2, 100);
  82. q.setString(3, "joueur");
  83. q.execute();
  84. q.close();
  85. } catch (SQLException e) {
  86. // TODO Auto-generated catch block
  87. e.printStackTrace();
  88. }
  89. }
  90. }
  91.  
  92.  
  93. public boolean hasAccount(Player player){
  94. //SELECT
  95.  
  96. try {
  97. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueur WHERE uuid = ?");
  98. q.setString(1, player.getUniqueId().toString());
  99. ResultSet resultat = q.executeQuery();
  100. boolean hasAccount = resultat.next();
  101. q.close();
  102. return hasAccount;
  103.  
  104.  
  105. } catch (SQLException e) {
  106. e.printStackTrace();
  107. }
  108.  
  109. return false;
  110.  
  111. }
  112.  
  113.  
  114. public int getBalance(Player player){
  115. try {
  116. PreparedStatement q = connection.prepareStatement("SELECT joueur FROM joueur WHERE uuid = ?");
  117. q.setString(1, player.getUniqueId().toString());
  118.  
  119. int balance = 0;
  120.  
  121. ResultSet rs = q.executeQuery();
  122. while(rs.next()){
  123. balance = rs.getInt("coins");
  124. }
  125.  
  126. q.close();
  127.  
  128. return balance;
  129.  
  130. } catch (SQLException e) {
  131. e.printStackTrace();
  132. }
  133.  
  134. return 0;
  135. }
  136.  
  137. public void addMoney(Player player,int amount){
  138. //UPDATE
  139.  
  140. int balance = getBalance(player);
  141. int newbalance = balance + amount;
  142.  
  143. try {
  144. PreparedStatement rs = connection.prepareStatement("UPDATE joueur SET coins = ? WHERE uuid = ?");
  145. rs.setInt(1, newbalance);
  146. rs.setString(2, player.getUniqueId().toString());
  147. rs.executeUpdate();
  148. rs.close();
  149. } catch (SQLException e) {
  150. e.printStackTrace();
  151. }
  152.  
  153. }
  154.  
  155. public void removeMoney(Player player,int amount){
  156. //UPDATE
  157.  
  158. int balance = getBalance(player);
  159. int newbalance = balance - amount;
  160.  
  161. if(newbalance <= 0){
  162. return;
  163. }
  164.  
  165.  
  166. try {
  167. PreparedStatement rs = connection.prepareStatement("UPDATE joueur SET coins = ? WHERE uuid = ?");
  168. rs.setInt(1, newbalance);
  169. rs.setString(2, player.getUniqueId().toString());
  170. rs.executeUpdate();
  171. rs.close();
  172. } catch (SQLException e) {
  173. e.printStackTrace();
  174. }
  175.  
  176. }
  177.  
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement