Guest User

Untitled

a guest
Nov 16th, 2016
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.38 KB | None | 0 0
  1. package com.baptiste.altisplugin;
  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 joueurs(uuid,coins,grade) VALUES (?,?,?)");
  55. q.setString(1, player.getUniqueId().toString());
  56. q.setInt(2, 100);
  57. q.setString(3, "joueur");
  58. q.execute();
  59. q.close();
  60. } catch (SQLException e) {
  61. e.printStackTrace();
  62. }
  63.  
  64.  
  65. }
  66. }
  67.  
  68. public boolean hasAccount(Player player){
  69. //SELECT
  70.  
  71. try {
  72. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  73. q.setString(1, player.getUniqueId().toString());
  74. ResultSet resultat = q.executeQuery();
  75. boolean hasAccount = resultat.next();
  76. q.close();
  77. return hasAccount;
  78. } catch (SQLException e) {
  79. e.printStackTrace();
  80. }
  81.  
  82. return false;
  83. }
  84.  
  85. public int getBalance(Player player){
  86. //SELECT
  87.  
  88. try {
  89. PreparedStatement q = connection.prepareStatement("SELECT coins FROM joueurs WHERE uuid = ?");
  90. q.setString(1, player.getUniqueId().toString());
  91.  
  92. int balance = 0;
  93. ResultSet rs = q.executeQuery();
  94.  
  95. while(rs.next()){
  96. balance = rs.getInt("coins");
  97. }
  98.  
  99. q.close();
  100.  
  101. return balance;
  102.  
  103. } catch (SQLException e) {
  104. e.printStackTrace();
  105. }
  106.  
  107. return 0;
  108. }
  109.  
  110. public void addMoney(Player player,int amount){
  111. //UPDATE
  112.  
  113. int balance = getBalance(player);
  114. int newbalance = balance + amount;
  115.  
  116. try {
  117. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  118. rs.setInt(1, newbalance);
  119. rs.setString(2, player.getUniqueId().toString());
  120. rs.executeUpdate();
  121. rs.close();
  122.  
  123. } catch (SQLException e) {
  124. e.printStackTrace();
  125. }
  126.  
  127. }
  128.  
  129. public void removeMoney(Player player,int amount){
  130. //UPDATE
  131.  
  132. int balance = getBalance(player);
  133. int newbalance = balance - amount;
  134.  
  135. if(newbalance <= 0){
  136. return;
  137. }
  138.  
  139. try {
  140. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  141. rs.setInt(1, newbalance);
  142. rs.setString(2, player.getUniqueId().toString());
  143. rs.executeUpdate();
  144. rs.close();
  145.  
  146. } catch (SQLException e) {
  147. e.printStackTrace();
  148. }
  149.  
  150. }
  151.  
  152. public void setRank(Player player, Rank rank){
  153.  
  154. try {
  155. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET grade = ? WHERE uuid = ?");
  156. rs.setInt(1, rank.getPower());
  157. rs.setString(2, player.getUniqueId().toString());
  158. rs.executeUpdate();
  159. rs.close();
  160.  
  161. } catch (SQLException e) {
  162. e.printStackTrace();
  163. }
  164.  
  165. }
  166.  
  167. public Rank getRank(Player player){
  168.  
  169.  
  170. try {
  171. PreparedStatement q = connection.prepareStatement("SELECT grade FROM joueurs WHERE uuid = ?");
  172. q.setString(1, player.getUniqueId().toString());
  173.  
  174. int power = 0;
  175. ResultSet rs = q.executeQuery();
  176.  
  177. while(rs.next()){
  178. power = rs.getInt("grade");
  179. }
  180.  
  181. q.close();
  182.  
  183. return Rank.powertoRank(power);
  184.  
  185. } catch (SQLException e) {
  186. e.printStackTrace();
  187. }
  188.  
  189. return Rank.Civil;
  190. }
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198. }
Add Comment
Please, Sign In to add comment