Помогите Помогите с MySQL :D

Статус
Закрыто для дальнейших ответов.

EnderBro3D

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
EnderBro3D
Дело в том что мне срочно нужно сделать поддержку MySQL. Не получается.

Желательно чтобы в комментарии написали как это сделать:

создать таблицу Economy с столбцами: PlayerName и Balance (PlayerName в Java - String, a Balance - Integer)

в отдельном методе нужно будет отправлять Query-запрос на заполнение. Например
public static void put(String PlayerName, Integer Balance);

Также обязательно мне нужен метод как подключаться к базе MySQL

P.S С MySQL никогда не работал. Не знаю как и что делать.
P.S.S Гугл и тому подобное не предлагайте. Т.к на Русском там мало чего полезного.
 
https://bukkit.org/threads/using-mysql-in-your-plugins.132309/ это метод который подключается к базе MySQL
Желательно чтобы в комментарии написали как это сделать:
создать таблицу Economy с столбцами: PlayerName и Balance (PlayerName в Java - String, a Balance - Integer)
желательно чтобы тебе весь готовый код написали но увы, думай. Со статьей разберешься ибо там разжевано и довольно доступно=)
 
Вот тебе CRUD с привязкой к конфигу, под себя уже, думаю, доделаешь.

Java:
   private static final String host = config.getString("database.mysql.connectivity.host");
    private static final String databaseName = config.getString("database.mysql.connectivity.databasename");
    private static final int port = config.getInt("database.mysql.connectivity.port");

    private static final String URL = "jdbc:mysql://" + host + ":" + port + "/" + databaseName;
    private static final String LOGIN = config.getString("database.mysql.connectivity.login");
    private static final String PASSWORD = config.getString("database.mysql.connectivity.password");

    private static Connection connection;
    private static Statement statement;
    private static ResultSet resultSet;

    public static void reloadMySQLConnection() throws SQLException, ClassNotFoundException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
        statement = connection.createStatement();
    }

    public static void createMySQLDBConnection() throws SQLException, ClassNotFoundException {
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
    }

    public static void createMySQLDBTable() throws SQLException {
        statement = connection.createStatement();
        statement.execute("CREATE TABLE blocks(`location` varchar(50) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=latin1");
    }

    public static boolean hasMySQLDBValue(String location) throws SQLException {
        resultSet = statement.executeQuery("SELECT location FROM blocks WHERE location=" + location);
        return resultSet.next();
    }

    public static void deleteFromMySQLDB(String location) throws SQLException {
        statement.executeUpdate("DELETE FROM blocks WHERE location=" + location);
    }

    public static void writeToMySQLDB(String location) throws SQLException {
        statement.executeUpdate("INSERT INTO 'blocks' ('location') VALUES ('" + location + "');");
    }

    public static void closeMySQLDBConnection() throws SQLException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
    }
А вообще, я не знаю как ты собираешься дальше что-то делать без английского.Вот, целая тонна информации, которой хватит с головой, что бы работать с MySQL, но на английском.
 
Вот тебе CRUD с привязкой к конфигу, под себя уже, думаю, доделаешь.

Java:
   private static final String host = config.getString("database.mysql.connectivity.host");
    private static final String databaseName = config.getString("database.mysql.connectivity.databasename");
    private static final int port = config.getInt("database.mysql.connectivity.port");

    private static final String URL = "jdbc:mysql://" + host + ":" + port + "/" + databaseName;
    private static final String LOGIN = config.getString("database.mysql.connectivity.login");
    private static final String PASSWORD = config.getString("database.mysql.connectivity.password");

    private static Connection connection;
    private static Statement statement;
    private static ResultSet resultSet;

    public static void reloadMySQLConnection() throws SQLException, ClassNotFoundException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
        statement = connection.createStatement();
    }

    public static void createMySQLDBConnection() throws SQLException, ClassNotFoundException {
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
    }

    public static void createMySQLDBTable() throws SQLException {
        statement = connection.createStatement();
        statement.execute("CREATE TABLE blocks(`location` varchar(50) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=latin1");
    }

    public static boolean hasMySQLDBValue(String location) throws SQLException {
        resultSet = statement.executeQuery("SELECT location FROM blocks WHERE location=" + location);
        return resultSet.next();
    }

    public static void deleteFromMySQLDB(String location) throws SQLException {
        statement.executeUpdate("DELETE FROM blocks WHERE location=" + location);
    }

    public static void writeToMySQLDB(String location) throws SQLException {
        statement.executeUpdate("INSERT INTO 'blocks' ('location') VALUES ('" + location + "');");
    }

    public static void closeMySQLDBConnection() throws SQLException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
    }
А вообще, я не знаю как ты собираешься дальше что-то делать без английского.Вот, целая тонна информации, которой хватит с головой, что бы работать с MySQL, но на английском.
Спасибо. Английский учить буду и разбираться с этим кодом
Вот тебе CRUD с привязкой к конфигу, под себя уже, думаю, доделаешь.

Java:
   private static final String host = config.getString("database.mysql.connectivity.host");
    private static final String databaseName = config.getString("database.mysql.connectivity.databasename");
    private static final int port = config.getInt("database.mysql.connectivity.port");

    private static final String URL = "jdbc:mysql://" + host + ":" + port + "/" + databaseName;
    private static final String LOGIN = config.getString("database.mysql.connectivity.login");
    private static final String PASSWORD = config.getString("database.mysql.connectivity.password");

    private static Connection connection;
    private static Statement statement;
    private static ResultSet resultSet;

    public static void reloadMySQLConnection() throws SQLException, ClassNotFoundException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
        statement = connection.createStatement();
    }

    public static void createMySQLDBConnection() throws SQLException, ClassNotFoundException {
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
    }

    public static void createMySQLDBTable() throws SQLException {
        statement = connection.createStatement();
        statement.execute("CREATE TABLE blocks(`location` varchar(50) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=latin1");
    }

    public static boolean hasMySQLDBValue(String location) throws SQLException {
        resultSet = statement.executeQuery("SELECT location FROM blocks WHERE location=" + location);
        return resultSet.next();
    }

    public static void deleteFromMySQLDB(String location) throws SQLException {
        statement.executeUpdate("DELETE FROM blocks WHERE location=" + location);
    }

    public static void writeToMySQLDB(String location) throws SQLException {
        statement.executeUpdate("INSERT INTO 'blocks' ('location') VALUES ('" + location + "');");
    }

    public static void closeMySQLDBConnection() throws SQLException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
    }
А вообще, я не знаю как ты собираешься дальше что-то делать без английского.Вот, целая тонна информации, которой хватит с головой, что бы работать с MySQL, но на английском.
Делал проверку на обычной Java, не BukkitAPI. Выдаёт ошибку Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
 
Спасибо. Английский учить буду и разбираться с этим кодом

Делал проверку на обычной Java, не BukkitAPI. Выдаёт ошибку Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Коннектор jdbc подключил?
 
Вот тебе CRUD с привязкой к конфигу, под себя уже, думаю, доделаешь.

Java:
   private static final String host = config.getString("database.mysql.connectivity.host");
    private static final String databaseName = config.getString("database.mysql.connectivity.databasename");
    private static final int port = config.getInt("database.mysql.connectivity.port");

    private static final String URL = "jdbc:mysql://" + host + ":" + port + "/" + databaseName;
    private static final String LOGIN = config.getString("database.mysql.connectivity.login");
    private static final String PASSWORD = config.getString("database.mysql.connectivity.password");

    private static Connection connection;
    private static Statement statement;
    private static ResultSet resultSet;

    public static void reloadMySQLConnection() throws SQLException, ClassNotFoundException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
        statement = connection.createStatement();
    }

    public static void createMySQLDBConnection() throws SQLException, ClassNotFoundException {
        connection = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
    }

    public static void createMySQLDBTable() throws SQLException {
        statement = connection.createStatement();
        statement.execute("CREATE TABLE blocks(`location` varchar(50) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=latin1");
    }

    public static boolean hasMySQLDBValue(String location) throws SQLException {
        resultSet = statement.executeQuery("SELECT location FROM blocks WHERE location=" + location);
        return resultSet.next();
    }

    public static void deleteFromMySQLDB(String location) throws SQLException {
        statement.executeUpdate("DELETE FROM blocks WHERE location=" + location);
    }

    public static void writeToMySQLDB(String location) throws SQLException {
        statement.executeUpdate("INSERT INTO 'blocks' ('location') VALUES ('" + location + "');");
    }

    public static void closeMySQLDBConnection() throws SQLException {
        connection.close();
        statement.close();
        if (resultSet != null)
            resultSet.close();
    }
А вообще, я не знаю как ты собираешься дальше что-то делать без английского.Вот, целая тонна информации, которой хватит с головой, что бы работать с MySQL, но на английском.
Как бы тоже потребовалось научиться работать с базой.
А для чего это?
Java:
Class.forName("com.mysql.jdbc.Driver");
 
А вообще, я не знаю как ты собираешься дальше что-то делать без английского.Вот, целая тонна информации, которой хватит с головой, что бы работать с MySQL, но на английском.
Как бы тоже потребовалось научиться работать с базой.
 
Как бы тоже потребовалось научиться работать с базой.
А для чего это?
Java:
Class.forName("com.mysql.jdbc.Driver");
Всегда писал это, тоже не понимая зачем:confused:. Наверное, чтобы словить ClassNotFoundException и понять, что коннектор не найден (но это не точно)
 
Всегда писал это, тоже не понимая зачем:confused:. Наверное, чтобы словить ClassNotFoundException и понять, что коннектор не найден (но это не точно)
Чтоб нативку залоадить, но смысла это делать 2 раза конечно же нет.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх