Advertisement
Guest User

Untitled

a guest
Jul 12th, 2016
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. package fr.frinka.SQL;
  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. public void createAccount(Player player){
  50. if(!hasAccount(player)){
  51. //INSERT
  52.  
  53. try {
  54. PreparedStatement q = connection.prepareStatement("INSERT INTO BMoney(uuid,money) VALUES (?,?)");
  55. q.setString(1, player.getUniqueId().toString());
  56. q.setInt(2, 0);
  57. q.execute();
  58. q.close();
  59. } catch (SQLException e) {
  60. e.printStackTrace();
  61. }
  62.  
  63.  
  64. }
  65. }
  66.  
  67. public boolean hasAccount(Player player){
  68. //SELECT
  69.  
  70. try {
  71. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM BMoney WHERE uuid = ?");
  72. q.setString(1, player.getUniqueId().toString());
  73. ResultSet resultat = q.executeQuery();
  74. boolean hasAccount = resultat.next();
  75. q.close();
  76. return hasAccount;
  77. } catch (SQLException e) {
  78. e.printStackTrace();
  79. }
  80.  
  81. return false;
  82. }
  83.  
  84. public int getBalance(Player player){
  85. //SELECT
  86.  
  87. try {
  88. PreparedStatement q = connection.prepareStatement("SELECT money FROM BMoney WHERE uuid = ?");
  89. q.setString(1, player.getUniqueId().toString());
  90.  
  91. int balance = 0;
  92. ResultSet rs = q.executeQuery();
  93.  
  94. while(rs.next()){
  95. balance = rs.getInt("money");
  96. }
  97.  
  98. q.close();
  99.  
  100. return balance;
  101.  
  102. } catch (SQLException e) {
  103. e.printStackTrace();
  104. }
  105.  
  106. return 0;
  107. }
  108.  
  109. public void addMoney(Player player,int amount){
  110. //UPDATE
  111.  
  112. int balance = getBalance(player);
  113. int newbalance = balance + amount;
  114.  
  115. try {
  116. PreparedStatement rs = connection.prepareStatement("UPDATE BMoney SET money = ? WHERE uuid = ?");
  117. rs.setInt(1, newbalance);
  118. rs.setString(2, player.getUniqueId().toString());
  119. rs.executeUpdate();
  120. rs.close();
  121.  
  122. } catch (SQLException e) {
  123. e.printStackTrace();
  124. }
  125.  
  126. }
  127.  
  128. public void removeMoney(Player player,int amount){
  129. //UPDATE
  130.  
  131. int balance = getBalance(player);
  132. int newbalance = balance - amount;
  133.  
  134. if(newbalance <= 0){
  135. return;
  136. }
  137.  
  138. try {
  139. PreparedStatement rs = connection.prepareStatement("UPDATE BMoney SET money = ? WHERE uuid = ?");
  140. rs.setInt(1, newbalance);
  141. rs.setString(2, player.getUniqueId().toString());
  142. rs.executeUpdate();
  143. rs.close();
  144.  
  145. } catch (SQLException e) {
  146. e.printStackTrace();
  147. }
  148.  
  149. }
  150.  
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement