Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Donate;
- import cn.nukkit.command.ConsoleCommandSender;
- import cn.nukkit.utils.Config;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.List;
- public class SQL {
- private final Thread executor = new Thread(new SQLExecutor());
- private final String url;
- private final String username;
- private final String password;
- private Config config;
- private boolean killed;
- private String query;
- public SQL() {
- this.url = "jdbc:mysql://" + this.config.getString("sql.host") + ":" + this.config.getString("sql.port") + "/" + this.config.getString("sql.db");
- this.username = this.config.getString("sql.user");
- this.password = this.config.getString("sql.pass");
- this.killed = false;
- }
- public ResultSet executeSelect(String query) throws SQLException {
- List<String> list = new ArrayList<String>();
- Connection connection = DriverManager.getConnection(SQL.this.url, SQL.this.username, SQL.this.password);
- if (connection == null) return null;
- Statement statement = connection.prepareStatement(query);
- if (statement == null) return null;
- ResultSet resultSet = statement.executeQuery(query);
- statement.close();
- connection.close();
- return resultSet;
- }
- public void executeUpdate (String query) throws SQLException {
- Connection connection = DriverManager.getConnection(SQL.this.url, SQL.this.username, SQL.this.password);
- if (connection == null) return;
- Statement statement = connection.prepareStatement(query);
- statement.executeUpdate(query);
- statement.close();
- connection.close();
- }
- public void check(String name) throws SQLException {
- ResultSet result = executeSelect("SELECT * FROM permissions WHERE name='" + name + "' ORDER BY id DESC");
- if (result == null) return;
- Donate.getInstance().getLogger().info(name + " Entered!");
- while (result.next()){
- long date = result.getLong("date"); // если я правильно понимаю, колонка у вас называется date
- if (System.currentTimeMillis()>date) {
- Donate.getInstance().getLogger().info(name + " deop!");
- executeUpdate("DELETE FROM permissions WHERE name='" + name + "'");
- Donate.getInstance().getServer().dispatchCommand(new ConsoleCommandSender(), "setgroup player " + name);
- } else {
- Donate.getInstance().getServer().dispatchCommand(new ConsoleCommandSender(), "setgroup player "+result.getString("permission"));
- }
- }
- }
- public boolean isKilled() {
- return this.killed;
- }
- private class SQLExecutor implements Runnable {
- @Override
- public void run() {
- try {
- Connection conn = DriverManager.getConnection(SQL.this.url, SQL.this.username, SQL.this.password);
- PreparedStatement statement = conn.prepareStatement(SQL.this.query);
- statement.executeUpdate();
- } catch (SQLException e) {
- Donate.getInstance().getLogger().error("SQL Error: " + e);
- SQL.this.killed = true;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement