Advertisement
Guest User

Untitled

a guest
Dec 30th, 2016
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.06 KB | None | 0 0
  1. package fr.quakestats.main;
  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.         }
  27.         try {
  28.             connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  29.             System.out.println("connected ok");
  30.         } catch (SQLException e) {
  31.             e.printStackTrace();
  32.         }
  33.     }
  34.  
  35.     public void disconnect() {
  36.         if(isConnected()) {
  37.             try {
  38.                 connection.close();
  39.                 System.out.println("connection fail");
  40.             } catch (SQLException e) {
  41.                 // TODO Auto-generated catch block
  42.                 e.printStackTrace();
  43.             }
  44.         }
  45.     }
  46.  
  47.     public boolean isConnected() {
  48.         return connection != null;
  49.     }
  50.  
  51.     // Coins
  52.  
  53.     public void createAccount(Player player){
  54.         if(!hasAccount(player)){
  55.             //INSERT
  56.            
  57.             try {
  58.                 PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(uuid,coins,grade) VALUES (?,?,?)");
  59.                 q.setString(1, player.getUniqueId().toString());
  60.                 q.setInt(2, 100);
  61.                 q.setString(3, "joueur");
  62.                 q.execute();
  63.                 q.close();
  64.             } catch (SQLException e) {
  65.                 e.printStackTrace();
  66.             }
  67.            
  68.            
  69.         }
  70.     }
  71.    
  72.     public boolean hasAccount(Player player){
  73.         //SELECT
  74.        
  75.         try {
  76.             PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  77.             q.setString(1, player.getUniqueId().toString());
  78.             ResultSet resultat = q.executeQuery();
  79.             boolean hasAccount = resultat.next();
  80.             q.close();
  81.             return hasAccount;
  82.         } catch (SQLException e) {
  83.             e.printStackTrace();
  84.         }
  85.        
  86.         return false;
  87.     }
  88.    
  89.     public int getBalance(Player player){
  90.         //SELECT
  91.        
  92.         try {
  93.             PreparedStatement q = connection.prepareStatement("SELECT coins FROM joueurs WHERE uuid = ?");
  94.             q.setString(1, player.getUniqueId().toString());
  95.  
  96.             int balance = 0;
  97.             ResultSet rs = q.executeQuery();
  98.            
  99.             while(rs.next()){
  100.                 balance = rs.getInt("coins");
  101.             }
  102.            
  103.             q.close();
  104.            
  105.             return balance;
  106.            
  107.         } catch (SQLException e) {
  108.             e.printStackTrace();
  109.         }
  110.        
  111.         return 0;
  112.     }
  113.    
  114.     public void addMoney(Player player,int amount){
  115.         //UPDATE
  116.        
  117.         int balance = getBalance(player);
  118.         int newbalance = balance + amount;
  119.        
  120.         try {
  121.             PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  122.             rs.setInt(1, newbalance);
  123.             rs.setString(2, player.getUniqueId().toString());
  124.             rs.executeUpdate();
  125.             rs.close();
  126.    
  127.         } catch (SQLException e) {
  128.             e.printStackTrace();
  129.         }
  130.        
  131.     }
  132.    
  133.     public void removeMoney(Player player,int amount){
  134.         //UPDATE
  135.        
  136.         int balance = getBalance(player);
  137.         int newbalance = balance - amount;
  138.        
  139.         if(newbalance <= 0){
  140.             return;
  141.         }
  142.        
  143.         try {
  144.             PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  145.             rs.setInt(1, newbalance);
  146.             rs.setString(2, player.getUniqueId().toString());
  147.             rs.executeUpdate();
  148.             rs.close();
  149.    
  150.         } catch (SQLException e) {
  151.             e.printStackTrace();
  152.         }
  153.        
  154.     }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement