Advertisement
Guest User

SqlConnection.java

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