daily pastebin goal
59%
SHARE
TWEET

Untitled

a guest Mar 20th, 2017 100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package fr.tox.SheepCoins;
  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.  
  50.     public void createAccount(Player player){
  51.         if(!hasAccount(player)){
  52.             //INSERT
  53.            
  54.             try {
  55.                 PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(UUID,COINS,RANK) VALUES (?,?,?)");
  56.                 q.setString(1, player.getUniqueId().toString());
  57.                 q.setInt(2, 100);
  58.                 q.setString(3, "joueur");
  59.                 q.execute();
  60.                 q.close();
  61.             } catch (SQLException e) {
  62.                 e.printStackTrace();
  63.             }
  64.            
  65.            
  66.         }
  67.     }
  68.    
  69.     public boolean hasAccount(Player player){
  70.         //SELECT
  71.        
  72.         try {
  73.             PreparedStatement q = connection.prepareStatement("SELECT UUID FROM joueurs WHERE UUID = ?");
  74.             q.setString(1, player.getUniqueId().toString());
  75.             ResultSet resultat = q.executeQuery();
  76.             boolean hasAccount = resultat.next();
  77.             q.close();
  78.             return hasAccount;
  79.         } catch (SQLException e) {
  80.             e.printStackTrace();
  81.         }
  82.        
  83.         return false;
  84.     }
  85.    
  86.     public int getBalance(Player player){
  87.         //SELECT
  88.        
  89.         try {
  90.             PreparedStatement q = connection.prepareStatement("SELECT coins FROM joueurs WHERE uuid = ?");
  91.             q.setString(1, player.getUniqueId().toString());
  92.  
  93.             int balance = 0;
  94.             ResultSet rs = q.executeQuery();
  95.            
  96.             while(rs.next()){
  97.                 balance = rs.getInt("coins");
  98.             }
  99.            
  100.             q.close();
  101.            
  102.             return balance;
  103.            
  104.         } catch (SQLException e) {
  105.             e.printStackTrace();
  106.         }
  107.        
  108.         return 0;
  109.     }
  110.    
  111.     public void addMoney(Player player,int amount){
  112.         //UPDATE
  113.        
  114.         int balance = getBalance(player);
  115.         int newbalance = balance + amount;
  116.        
  117.         try {
  118.             PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  119.             rs.setInt(1, newbalance);
  120.             rs.setString(2, player.getUniqueId().toString());
  121.             rs.executeUpdate();
  122.             rs.close();
  123.    
  124.         } catch (SQLException e) {
  125.             e.printStackTrace();
  126.         }
  127.        
  128.     }
  129.    
  130.     public void removeMoney(Player player,int amount){
  131.         //UPDATE
  132.        
  133.         int balance = getBalance(player);
  134.         int newbalance = balance - amount;
  135.        
  136.         if(newbalance <= 0){
  137.             return;
  138.         }
  139.        
  140.         try {
  141.             PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  142.             rs.setInt(1, newbalance);
  143.             rs.setString(2, player.getUniqueId().toString());
  144.             rs.executeUpdate();
  145.             rs.close();
  146.    
  147.         } catch (SQLException e) {
  148.             e.printStackTrace();
  149.         }
  150.        
  151.     }
  152. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top