Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.02 KB | None | 0 0
  1. package net.azuriarp.api.data;
  2.  
  3. import net.azuriarp.api.AzuriaAPI;
  4. import net.azuriarp.api.PlayerInfo;
  5. import net.azuriarp.api.game.rank.Rank;
  6. import org.bukkit.entity.Player;
  7.  
  8. import java.sql.*;
  9.  
  10. /**
  11.  * Created by invite on 08/07/2017.
  12.  */
  13. public class DataManager {
  14.  
  15.     private Connection connection;
  16.  
  17.     private String urlbase,host,database,user,pass;
  18.  
  19.     private PlayerDB playerDB;
  20.  
  21.     public DataManager(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.         this.playerDB = new PlayerDB(this.connection);
  28.     }
  29.  
  30.     public void connection() {
  31.  
  32.         if(!isConnected()) {
  33.  
  34.             try {
  35.                 connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  36.                 System.out.println("[AzuriaAPI] SQL > connected");
  37.  
  38.             } catch (SQLException e) {
  39.                 System.out.println("[AzuriaAPI] SQL > Error : Can't connect to the database");
  40.                 e.printStackTrace();
  41.             }
  42.         }
  43.     }
  44.  
  45.     public void disconnection() {
  46.  
  47.         if(isConnected()) {
  48.  
  49.             try {
  50.                 connection.close();
  51.                 System.out.println("[AzuriaAPI] SQL > disconnected");
  52.  
  53.             } catch (SQLException e) {
  54.                 System.out.println("[AzuriaAPI] SQL > Error : Can't connect to the database");
  55.                 e.printStackTrace();
  56.             }
  57.         }
  58.     }
  59.  
  60.     public void createAccount(Player player) {
  61.  
  62.         if(hasAccount(player)) {
  63.  
  64.             try {
  65.                 PreparedStatement query = connection.prepareStatement("INSERT INTO PlayerInfo(uuid,ecus,grade) VALUES(?,?,?)");
  66.  
  67.                 query.setString(1, player.getUniqueId().toString());
  68.                 query.setInt(2,100);
  69.                 query.setString(3, "joueur");
  70.  
  71.                 query.execute();
  72.                 query.close();
  73.  
  74.                 PlayerInfo playerInfo = new PlayerInfo(player, 100, Rank.Joueur);
  75.  
  76.                 System.out.println("[AzuriaAPI] SQL > New Account !");
  77.  
  78.             } catch (SQLException e) {
  79.                 e.printStackTrace();
  80.             }
  81.         }
  82.     }
  83.  
  84.     public boolean hasAccount(Player player) {
  85.  
  86.         try {
  87.             PreparedStatement query = connection.prepareStatement("SELECT uuid FROM PlayerInfo WHERE uuid = ?");
  88.  
  89.             query.setString(1, player.getUniqueId().toString());
  90.             ResultSet result = query.executeQuery();
  91.             boolean hasAccount = result.next();
  92.             query.close();
  93.  
  94.             return hasAccount;
  95.  
  96.         } catch (SQLException e) {
  97.             e.printStackTrace();
  98.         }
  99.         return false;
  100.     }
  101.  
  102.     public Connection getConnection() {
  103.         return connection;
  104.     }
  105.  
  106.  
  107.     public boolean isConnected() {
  108.         return connection != null;
  109.     }
  110.  
  111.     public PlayerDB getPlayerDB() {
  112.         return this.playerDB;
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement