Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. package net.azuriarp.api.data;
  2.  
  3. import net.azuriarp.api.PlayerInfo;
  4. import net.azuriarp.api.game.rank.Rank;
  5. import org.bukkit.entity.Player;
  6.  
  7. import java.sql.*;
  8.  
  9. /**
  10.  * Created by invite on 08/07/2017.
  11.  */
  12. public class DataManager {
  13.  
  14.     private Connection connection;
  15.  
  16.     private String urlbase,host,database,user,pass;
  17.  
  18.     private PlayerDB playerDB;
  19.  
  20.     public DataManager(String urlbase, String host, String database, String user, String pass) {
  21.         this.urlbase = urlbase;
  22.         this.host = host;
  23.         this.database = database;
  24.         this.user = user;
  25.         this.pass = pass;
  26.         this.playerDB = new PlayerDB(this.connection);
  27.     }
  28.  
  29.     public void connection() {
  30.  
  31.         if(!isConnected()) {
  32.  
  33.             try {
  34.                 connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
  35.                 System.out.println("[AzuriaAPI] SQL > connected");
  36.  
  37.             } catch (SQLException e) {
  38.                 System.out.println("[AzuriaAPI] SQL > Error : Can't connect to the database");
  39.                 e.printStackTrace();
  40.             }
  41.         }
  42.     }
  43.  
  44.     public void disconnection() {
  45.  
  46.         if(isConnected()) {
  47.  
  48.             try {
  49.                 connection.close();
  50.                 System.out.println("[AzuriaAPI] SQL > disconnected");
  51.  
  52.             } catch (SQLException e) {
  53.                 System.out.println("[AzuriaAPI] SQL > Error : Can't connect to the database");
  54.                 e.printStackTrace();
  55.             }
  56.         }
  57.     }
  58.  
  59.     public void createAccount(Player player) {
  60.  
  61.         if(!hasAccount(player)) {
  62.  
  63.             try {
  64.                 PreparedStatement query = connection.prepareStatement("INSERT INTO PlayerInfo(uuid,ecus,grade) VALUES(?,?,?)");
  65.  
  66.                 query.setString(1, player.getUniqueId().toString());
  67.                 query.setInt(2,100);
  68.                 query.setString(3, "joueur");
  69.  
  70.                 query.execute();
  71.                 query.close();
  72.  
  73.                 PlayerInfo playerInfo = new PlayerInfo(player, 100, Rank.Joueur);
  74.  
  75.                 System.out.println("[AzuriaAPI] SQL > New Account !");
  76.  
  77.             } catch (SQLException e) {
  78.                 System.out.println("[AzuriaAPI] SQL > Error: Can't create a new account");
  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