Advertisement
Guest User

Untitled

a guest
Nov 5th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.26 KB | None | 0 0
  1. package fr.yowatsup.gestion;
  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. import fr.yowatsup.cache.PlayerData;
  12. import fr.yowatsup.grades.Rank;
  13.  
  14. public class SqlConnection {
  15.  
  16. private Connection connection;
  17. private String urlbase,host,database,user,pass;
  18. private Coins pl;
  19.  
  20.  
  21. public SqlConnection(String urlbase, String host, String database, String user, String pass) {
  22. this.urlbase = urlbase;
  23. this.host = host;
  24. this.database = database;
  25. this.user = user;
  26. this.pass = pass;
  27. }
  28.  
  29.  
  30.  
  31.  
  32. public void connection(){
  33. if(!isConnected()){
  34. try {
  35. connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  36. System.out.println("connected ok");
  37. } catch (SQLException e) {
  38. e.printStackTrace();
  39. }
  40. }
  41. }
  42.  
  43. public void disconnect(){
  44. if(isConnected()){
  45. try {
  46. connection.close();
  47. System.out.println("connected off");
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52. }
  53.  
  54. /*
  55. * INSERT
  56. * UPDATE
  57. * DELETE
  58. * SELECT
  59. *
  60. * PREPARER ?,?
  61. * REMPLACER LES ? PAR DES VALEURS
  62. * EXECUTE
  63. *
  64. */
  65.  
  66. public boolean isConnected(){
  67. return connection != null;
  68. }
  69.  
  70. public void createAccount(Player player){
  71. if(!hasAccount(player)){
  72. //INSERT
  73.  
  74. try {
  75. PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(uuid,coins,grade) VALUES (?,?,?)");
  76. q.setString(1, player.getUniqueId().toString());
  77. q.setInt(2, 100);
  78. q.setInt(3, Rank.JOUEUR.getPower());
  79. q.execute();
  80. q.close();
  81. } catch (SQLException e) {
  82. e.printStackTrace();
  83. }
  84.  
  85.  
  86. }
  87. }
  88.  
  89. public boolean hasAccount(Player player){
  90. //SELECT
  91.  
  92. try {
  93. PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  94. q.setString(1, player.getUniqueId().toString());
  95. ResultSet resultat = q.executeQuery();
  96. boolean hasAccount = resultat.next();
  97. q.close();
  98. return hasAccount;
  99. } catch (SQLException e) {
  100. e.printStackTrace();
  101. }
  102.  
  103. return false;
  104. }
  105.  
  106. public int getBalance(Player player){
  107. //SELECT
  108. if(pl.dataPlayers.containsKey(player)){
  109. PlayerData dataP = pl.dataPlayers.get(player);
  110. return dataP.getCoins();
  111. }
  112.  
  113. return 0;
  114. }
  115.  
  116. public void addMoney(Player player,int amount){
  117.  
  118. if(pl.dataPlayers.containsKey(player)){
  119. PlayerData dataP = pl.dataPlayers.get(player);
  120. int coins = dataP.getCoins() + amount;
  121. dataP.setCoins(coins);
  122. pl.dataPlayers.remove(player);
  123. pl.dataPlayers.put(player, dataP);
  124. }
  125.  
  126. }
  127.  
  128. public void removeMoney(Player player,int amount){
  129.  
  130. if(pl.dataPlayers.containsKey(player)){
  131. PlayerData dataP = pl.dataPlayers.get(player);
  132. int coins = dataP.getCoins() - amount;
  133.  
  134. if(coins <= 0){
  135. return;
  136. }
  137.  
  138. dataP.setCoins(coins);
  139. pl.dataPlayers.remove(player);
  140. pl.dataPlayers.put(player, dataP);
  141. }
  142.  
  143. }
  144.  
  145. public void setRank(Player player, Rank rank){
  146.  
  147. if(pl.dataPlayers.containsKey(player)){
  148. PlayerData dataP = pl.dataPlayers.get(player);
  149. dataP.setRank(rank);
  150. pl.dataPlayers.remove(player);
  151. pl.dataPlayers.put(player, dataP);
  152. }
  153.  
  154. }
  155.  
  156. public Rank getRank(Player player){
  157.  
  158. if(pl.dataPlayers.containsKey(player)){
  159. PlayerData dataP = pl.dataPlayers.get(player);
  160. return dataP.getRank();
  161. }
  162.  
  163. return Rank.JOUEUR;
  164. }
  165.  
  166. public PlayerData createPlayerData(Player player){
  167.  
  168. if(!pl.dataPlayers.containsKey(player)){
  169. try {
  170. PreparedStatement rs = connection.prepareStatement("SELECT coins, grade FROM joueurs WHERE uuid = ?");
  171. rs.setString(1, player.getUniqueId().toString());
  172. ResultSet resultats = rs.executeQuery();
  173.  
  174. int coins = 0;
  175. Rank rank = Rank.JOUEUR;
  176.  
  177. while(resultats.next()){
  178. coins = resultats.getInt("coins");
  179. rank = Rank.powerToRank(resultats.getInt("grade"));
  180. }
  181.  
  182. PlayerData dataP = new PlayerData();
  183. dataP.setCoins(coins);
  184. dataP.setRank(rank);
  185. return dataP;
  186.  
  187.  
  188. } catch (SQLException e) {
  189. e.printStackTrace();
  190. }
  191. }
  192.  
  193. return new PlayerData();
  194.  
  195. }
  196.  
  197. public void updatePlayerData(Player player){
  198.  
  199. if(pl.dataPlayers.containsKey(player)){
  200.  
  201. PlayerData dataP = pl.dataPlayers.get(player);
  202. int coins = dataP.getCoins();
  203. Rank rank = dataP.getRank();
  204. int power = rank.getPower();
  205.  
  206. try {
  207. PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET grade = ?, coins = ? WHERE uuid = ?");
  208. rs.setInt(1, power);
  209. rs.setInt(2, coins);
  210. rs.setString(3, player.getUniqueId().toString());
  211. rs.executeUpdate();
  212. rs.close();
  213. } catch (SQLException e) {
  214. e.printStackTrace();
  215. }
  216.  
  217.  
  218. }
  219.  
  220. }
  221.  
  222.  
  223.  
  224.  
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement