Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем EnderBro3D, 19 фев 2017.

Статус темы:
Закрыта.
  1. Автор темы
    EnderBro3D

    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 Гугл и тому подобное не предлагайте. Т.к на Русском там мало чего полезного.
     
  2. Хостинг MineCraft
    <
  3. Forest_SD

    Forest_SD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Forest_SD
    https://bukkit.org/threads/using-mysql-in-your-plugins.132309/ это метод который подключается к базе MySQL
    желательно чтобы тебе весь готовый код написали но увы, думай. Со статьей разберешься ибо там разжевано и довольно доступно=)
     
  4. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Вот тебе CRUD с привязкой к конфигу, под себя уже, думаю, доделаешь.

    Код:
       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, но на английском.
     
  5. Автор темы
    EnderBro3D

    EnderBro3D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    EnderBro3D
    Спасибо. Английский учить буду и разбираться с этим кодом[DOUBLEPOST=1487501252,1487499910][/DOUBLEPOST]
    Делал проверку на обычной Java, не BukkitAPI. Выдаёт ошибку Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
     
  6. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Коннектор jdbc подключил?
     
  7. Автор темы
    EnderBro3D

    EnderBro3D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    EnderBro3D
     
  8. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
  9. Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    46
    Как бы тоже потребовалось научиться работать с базой.
    А для чего это?
    Код:
    Class.forName("com.mysql.jdbc.Driver");
    
     
  10. niki96

    niki96 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Extar93
     
  11. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Всегда писал это, тоже не понимая зачем:confused:. Наверное, чтобы словить ClassNotFoundException и понять, что коннектор не найден (но это не точно)
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Чтоб нативку залоадить, но смысла это делать 2 раза конечно же нет.
     
Статус темы:
Закрыта.

Поделиться этой страницей