Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Connection connection;
- private String urlbase, host, database, user, password;
- public SQLConnection(Denoria pl, String urlbase, String host, String database, String user, String password) {
- this.urlbase = urlbase;
- this.host = host;
- this.database = database;
- this.user = user;
- this.password = password;
- }
- public void connect() {
- if (!isConnect()) {
- try {
- connection = DriverManager.getConnection(urlbase + host + "/" + database, user,
- password);
- System.out.println("Connection vers la base de donnée établit avec succés");
- } catch (SQLException e) {
- System.out.println("Erreur lors de la connection à la base de donnée");
- e.printStackTrace();
- }
- }
- }
- public void disconnect() {
- if (isConnect()) {
- try {
- connection.close();
- System.out.println("Déconnection de la base de donnée réussi");
- } catch (SQLException e) {
- System.out.println("Erreur lors de la déconnection à la base de donnée");
- e.printStackTrace();
- }
- }
- }
- public boolean isConnect() {
- return connection != null;
- }
- public void createAccount(Player p) {
- if (!hasAccount(p)) {
- try {
- PreparedStatement q = connection.prepareStatement(
- "INSERT INTO joueurs(uuid, coins, rank) VALUES (?, ?, ?)");
- q.setString(1, p.getUniqueId().toString());
- q.setInt(2, 100);
- q.setInt(3, Rank.JOUEUR.getPower());
- q.execute();
- q.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public boolean hasAccount(Player p) {
- try {
- PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
- q.setString(1, p.getUniqueId().toString());
- ResultSet uuid = q.executeQuery();
- boolean hasAccount = uuid.next();
- q.close();
- return hasAccount;
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- public int getBalance(Player player) {
- int balance = 0;
- try {
- PreparedStatement q = connection.prepareStatement(String.format("SELECT coins FROM joueurs WHERE uuid='%s';", player.getUniqueId().toString()));
- ResultSet rs = q.executeQuery();
- while (rs.next()) {
- balance = rs.getInt("coins");
- }
- q.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return balance;
- }
- public void addMoney(Player player, int amount) {
- // UPDATE
- int balance = getBalance(player);
- int newbalance = balance + amount;
- try {
- PreparedStatement rs = connection
- .prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
- rs.setInt(1, newbalance);
- rs.setString(2, player.getUniqueId().toString());
- rs.executeUpdate();
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void removeMoney(Player player, int amount) {
- // UPDATE
- int balance = getBalance(player);
- int newbalance = balance - amount;
- if (newbalance <= 0) {
- return;
- }
- try {
- PreparedStatement rs = connection
- .prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
- rs.setInt(1, newbalance);
- rs.setString(2, player.getUniqueId().toString());
- rs.executeUpdate();
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void setRank(Player player, Rank rank) {
- try {
- PreparedStatement rs = connection
- .prepareStatement("UPDATE joueurs SET rank = ? WHERE uuid = ?");
- rs.setInt(1, rank.getPower());
- rs.setString(2, player.getUniqueId().toString());
- rs.executeUpdate();
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public Rank getRank(Player player) {
- try {
- PreparedStatement q = connection.prepareStatement("SELECT rank FROM joueurs WHERE uuid = ?");
- q.setString(1, player.getUniqueId().toString());
- int power = 0;
- ResultSet rs = q.executeQuery();
- while (rs.next()) {
- power = rs.getInt("rank");
- }
- q.close();
- return Rank.powerToRank(power);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return Rank.JOUEUR;
- }
- public Connection getConnection() {
- return connection;
- }
- public void hasExpireRank(Player p) {
- try {
- PreparedStatement rs = connection
- .prepareStatement("SELECT hasexpirerank FROM joueurs WHERE uuid = ?");
- rs.setString(1, p.getUniqueId().toString());
- ResultSet resultats = rs.executeQuery();
- int rankValue = 0;
- while (resultats.next()) {
- rankValue = resultats.getInt("hasexpirerank");
- Timestamp now = new Timestamp(new Date().getTime());
- Timestamp expire = resultats.getTimestamp("epiredate");
- boolean hasExpireRank = expire.before(now);
- if (hasExpireRank && rankValue == 1) {
- setRank(p, Rank.JOUEUR);
- }
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
Add Comment
Please, Sign In to add comment