Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. package fr.phlemix.enaziaapi;
  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.  
  12.  
  13.  
  14.  
  15. public class SqlConnection {
  16.  
  17. private static Connection connection;
  18. private String urlbase,host,database,user,pass;
  19.  
  20. public SqlConnection(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.pass = pass;
  26. }
  27.  
  28. public static Connection getConnexion() {
  29. return connection;
  30. }
  31.  
  32. public void connexion() {
  33. if(!isOnline()) {
  34. try {
  35. connection = DriverManager.getConnection(this.urlbase + this.host + "/" + this.database, this.user, this.pass);
  36. System.out.println("Api Connecter");
  37. return;
  38. } catch (SQLException e) {
  39. System.out.println("[Database] Connection to database falled.");;
  40. }
  41. }
  42. }
  43. public void déconnexion() {
  44. if(isOnline()) {
  45. try {
  46. connection.close();
  47. System.out.println("[DataBase] Deconnexion réussit");
  48. return;
  49. } catch (SQLException e) {
  50. System.out.println("");
  51. }
  52. }
  53. }
  54.  
  55. public boolean isOnline() {
  56. try {
  57. if ((connection == null) || (connection.isClosed()) || (connection.isValid(5))) {
  58. return false;
  59. }
  60. return true;
  61. } catch (SQLException e){
  62. System.out.println("[Database] check online database failled");
  63. }
  64. return false;
  65. }
  66.  
  67. public void createAccount(Player player){
  68. if(!hasAccount(player)){
  69. //INSERT
  70.  
  71. try {
  72. PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(uuid,coins,grade) VALUES (?,?,?)");
  73. q.setString(1, player.getUniqueId().toString());
  74. q.setInt(2, 100);
  75. q.setString(3, "joueur");
  76. q.execute();
  77. q.close();
  78. } catch (SQLException e) {
  79. e.printStackTrace();
  80. }
  81.  
  82.  
  83. }
  84. }
  85.  
  86. public boolean hasAccount(Player player){
  87. //SELECT
  88.  
  89. try {
  90. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  91. q.setString(1, player.getUniqueId().toString());
  92. ResultSet resultat = q.executeQuery();
  93. boolean hasAccount = resultat.next();
  94. q.close();
  95. return hasAccount;
  96. } catch (SQLException e) {
  97. e.printStackTrace();
  98. }
  99.  
  100. return false;
  101. }
  102.  
  103. public int getBalance(Player player){
  104. //SELECT
  105.  
  106. try {
  107. PreparedStatement q = connection.prepareStatement("SELECT coins FROM joueurs WHERE uuid = ?");
  108. q.setString(1, player.getUniqueId().toString());
  109.  
  110. int balance = 0;
  111. ResultSet rs = q.executeQuery();
  112.  
  113. while(rs.next()){
  114. balance = rs.getInt("coins");
  115. }
  116.  
  117. q.close();
  118.  
  119. return balance;
  120.  
  121. } catch (SQLException e) {
  122. e.printStackTrace();
  123. }
  124.  
  125. return 0;
  126. }
  127.  
  128. public void addMoney(Player player,int amount){
  129. //UPDATE
  130.  
  131. int balance = getBalance(player);
  132. int newbalance = balance + amount;
  133.  
  134. try {
  135. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  136. rs.setInt(1, newbalance);
  137. rs.setString(2, player.getUniqueId().toString());
  138. rs.executeUpdate();
  139. rs.close();
  140.  
  141. } catch (SQLException e) {
  142. e.printStackTrace();
  143. }
  144.  
  145. }
  146.  
  147. public void removeMoney(Player player,int amount){
  148. //UPDATE
  149.  
  150. int balance = getBalance(player);
  151. int newbalance = balance - amount;
  152.  
  153. if(newbalance <= 0){
  154. return;
  155. }
  156.  
  157. try {
  158. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  159. rs.setInt(1, newbalance);
  160. rs.setString(2, player.getUniqueId().toString());
  161. rs.executeUpdate();
  162. rs.close();
  163.  
  164. } catch (SQLException e) {
  165. e.printStackTrace();
  166. }
  167. }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement