Java — Не могу подключиться к MySQL через Intellij Idea


Содержание

Как использовать базу данных MySQL в Java

В этой статье мы научимся подключаться к базе данных MySQL из Java-кода и выполнять простые запросы для получения и обновления данных. Для того, чтобы получить доступ к базе данных, мы будем использовать JDBC (Java Database Connectivity) API, который входит в стандартную библиотеку Java. JDBC позволяет подключиться к любой базе данных: Postgres, MySQL, SQL Server, Oracle и т. д. — при наличии соответствующей реализации драйвера, необходимого для подключения. Для базы данных MySQL мы будем использовать драйвер Type 4 JDBC из пакета mysql-connector-java-5.1.23-bin.jar . Он написан на чистой Java, а значит, нам не понадобятся какие-либо нативные библиотеки или ODBC-мост. Все, что нам надо будет сделать — это положить JAR-файл в директорию, содержащуюся в CLASSPATH. JAR-файл содержит класс com.mysql.jdbc.Driver , необходимый для подключения к MySQL. Если его не окажется в CLASSPATH, во время выполнения программы выбросится исключение java.lang.ClassNotFoundException , поэтому убедитесь, что вы правильно настроили пути.

Кстати, если вы ищете хорошую книгу по использованию JDBC, обратите внимание на Practical Database Programming with Java (Ying Bai). Это относительно новая книга, и в ней рассматриваются две самые популярные базы данных: Oracle и SQL Server 2008. В книге используется IDE NetBeans для примеров и описываются все инструменты, необходимые для работы с базами данных в Java. Это отличная книга для начинающих и опытных программистов.

Подключаем базу данных MySQL с помощью JDBC

Для того, чтобы подключить базу данных MySQL, нам потребуется четыре вещи:

  1. Строка подключения JDBC (например: jdbc:mysql://localhost:3306/test ).
  2. Имя пользователя (root).
  3. Пароль (root).
  4. База данных с некоторым количеством таблиц для примера (например, база данных книг).

Строка подключения для MySQL начинается с jdbc:mysql . Это название протокола соединения, за которым следуют хост и порт подключения, на которых запущена база данных. В нашем случае это localhost с портом по умолчанию 3306 (если вы его не поменяли при установке). Следующая часть — test — имя базы данных, которая уже существует в MySQL. Мы можем создать таблицу Books :

и наполнить ее хорошими книгами:

Программа на Java, которая использует базу данных

Теперь давайте напишем программу на Java, которая будет подключаться к нашей базе данных, запущенной на localhost . Важно помнить о том, что необходимо закрывать соединение, запросы и результат выполнения после завершения работы с ними. Также важно закрывать их в finally-блоке, со своей try/catch оберткой, поскольку сам метод close() может кинуть исключение, что приведет к утечке ресурсов. За подробной информацией вы можете обратиться к этой статье. Кроме того, вы можете использовать обертку try-with-resource, которая появилась в Java 7. Более того, это стандартный способ работы с ресурсами в Java 1.7.

При первом запуске у вас, возможно, будет ошибка No suitable driver found for jdbc:mysql , если драйвера MySQL нет в CLASSPATH:

Добавим нужный JAR-файл в путь и снова запустим программу. Другая частая ошибка — указать таблицу в строке соединения: jdbc:mysql://localhost:3306/test/book . В этом случае вылетит следущее исключение:

Успешный запуск программы выведет на экран следующее:

Результат верный, поскольку у нас в таблице только две книги: «Effective Java» и «Java Concurrency in Practice».

Кстати, если у вас был драйвер при компиляции, но отсутствует при запуске, вы получите исключение java.lang.ClassNotFoundException: com.mysql.jdbc.Driver . О том, как исправить эту ошибку, вы можете прочитать здесь.

Получаем данные с помощью SELECT-запроса в JDBC

Для получения данных из БД вы можете выполнить SELECT-запрос. В первом примере мы уже его использовали, но получили только количество строк. Теперь мы вернем сами строки. Большая часть программы останется без изменений, за исключением SQL-запроса и кода, возвращающего данные из объекта ResultSet :

Этот код выведет на экран следующее:

Тут есть пара моментов, на которые следует обратить внимание. Метод rs.getInt(1) используется для получения столбца с целочисленным типом, в нашем случае это столбец «id». Индексы в JDBC начинаются с единицы, поэтому rs.getInt(1) вернет значение первого столбца как целое число. В случае, если вы укажете неверный индекс (многие разработчики вызывают rs.getInt(0) для получения первого столбца), выбросится исключение InvalidColumnIndexException . Доступ к столбцам по индексу чреват ошибками, поэтому лучше использовать имя столбца, например, rs.getInt(«id») . Подробнее об этом вы можете прочитать в этой статье. Метод getString() используется для получения строковых значений из базы (например, VARCHAR ). Цикл будет выполняться, пока rs.next() не вернет false . Это значит, что строки закончились. В нашем случае в таблице две строки, поэтому цикл выполнится два раза, выводя информацию о книгах из таблицы на экран.

Добавляем данные с помощью INSERT-запроса в JDBC

Добавление данных мало отличается от их получения: мы просто используем INSERT-запрос вместо SELECT-запроса и метод executeUpdate() вместо executeQuery() . Этот метод используется для запросов INSERT, UPDATE и DELETE, а также для SQL DDL выражений, таких как CREATE, ALTER или DROP. Эти команды не возвращают результата, поэтому мы убираем все упоминания ResultSet ‘а в коде и изменяем запрос соответственно:

После запуска программы вы можете проверить таблицу в СУБД. На этот раз вы увидите три записи в таблице:

Теперь вы умеете подключаться к MySQL из Java-приложения и выполнять SELECT, INSERT, DELETE и UPDATE-запросы так же, как и в MySQL GUI. Для подключения мы используем объект Connection , для чтения результатов запроса — ResultSet . Убедитесь перед подключением, что сервер MySQL запущен и mysql-connector-java-5.1.17-bin.jar находится в CLASSPATH, чтобы избежать ClassNotFoundException .

Когда разберетесь с подключением и простыми запросами, имеет смысл изучить, как использовать подготавливаемые запросы (Prepared Statement) в Java для избежания SQL-инъекции. В боевом коде всегда следует использовать подготавливаемые запросы и связывание переменных.

Не удается подключиться к MySQL в Intellij >

У меня есть эта проблема:

Эта проблема (не удается найти указанный файл) появилась, когда я обновил IntelliJ IDEA до версии 2020.3.2.

Все входные данные верны. Какова причина?

2 ответа

Если вы настроили источники данных из папки IJ, то новая версия IJ может содержать более новые версии библиотек, и вам следует воссоздать DS после обновления.

Чтобы подключиться к базам данных из IJ, вам нужно сначала настроить источники данных. Источник данных содержит путь к библиотеке с драйверами, необходимыми для подключения к серверу.

Чтобы иметь возможность работать с вашей базой данных, определите ее как источник данных.

В нижней части диалогового окна, в разделе «Загрузка отсутствующих файлов драйверов», нажмите ссылку «Загрузить».

Java — Не могу подключиться к MySQL через Intellij Idea

10938 просмотра

6 ответа

21 Репутация автора

Я работаю на OSX Mavericks, работаю с Intellij 12, пытаюсь добавить источник данных, уже определенный в XML, используя фасет персистентности.

Я могу найти и выбрать источник нормально, но когда я пытаюсь проверить соединение, я получаю:

Не удалось подключиться к XXXXX: исключение в потоке «main» java.lang.ClassNotFoundException: com.mysql.jdbc.Driver на java.net.URLClassLoader $ 1.run (URLClassLoader.java:366) на java.net.URLClassLoader $ 1.run ( URLClassLoader.java:355) в java.security.AccessController.doPrivileged (собственный метод) в java.net.URLClassLoader.findClass (URLClassLoader.java:354) в java.lang.ClassLoader.loadClass (ClassLoader.java:4) .misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308) в java.lang.ClassLoader.loadClass (ClassLoader.java:358) в java.lang.Class.forName0 (собственный метод) в java.lang.Class.forName. (Class.java:190) на com.intellij.persistence.database.console.RemoteJdbcServer.main (RemoteJdbcServer.java:15)

Похоже, это просто проблема пути к классам, но я удивительно грубо разбираюсь в том, что мне нужно сделать, чтобы получить банку mysql на пути к классам.

Каждый найденный мной вопрос касается добавления jar в classpath вашего скомпилированного или тестируемого приложения, это НЕ то, что я ищу здесь. Мое приложение подключается к MySQL нормально, с IntellijIDE возникают проблемы. Где мне нужно добавить путь к этому файлу?

Ответы (6)

2 плюса

6554 Репутация автора

Любой из следующих вариантов должен работать

добавить банку в глобальные библиотеки проекта.

поместите jar в каталог lib для intellij.

поместите jar в ext lib jre, под которым работает intellij.

Автор: BevynQ Размещён: 20.05.2014 10:52

9 плюса

195 Репутация автора


Для Intellij 15 (возможно, более низкие версии) это работает:

Добавьте библиотеку JDBC, используя Intellij:

  1. Перейти к представлению -> Инструмент Windows -> База данных.
  2. В окне База данных выберите базу данных и щелкните значок для свойств источника данных (cmd + i).
  3. В следующем окне перейдите на MySQL в разделе Драйверы. В окошке слева под файлами драйверов нажмите скачать. Вот и все.

Автор: frevib Размещён: 11.02.2020 09:52

3 плюса

685 Репутация автора

В IntelliJ Перейти к представлению -> Инструменты Windows -> База данных

Внутри нажмите кнопку + -> Источник данных -> MySql

как показано ниже

На приведенном ниже экране введите данные подключения MySQL и нажмите «Проверить подключение».

убедитесь, что вы загружаете MySQL драйвер для подключения

Автор: Ali Размещён: 22.12.2020 02:39

плюса

122 Репутация автора

Перейдите в меню Itellij IDEA: Файл -> Структура проекта -> Модули -> выберите свой модуль -> Зависимости -> Нажмите +, чтобы добавить библиотеку -> Выберите mysql-connector-java -> Применить и ОК

Автор: xuehui Размещён: 23.10.2020 09:12

плюса

1071 Репутация автора

Мой IntelliJ 2020.2.5 является полностью автономным, без Maven и не отображает меню базы данных в View / Tool Windows. Единственное, что сработало для меня, было задокументировано здесь: добавление файлов Jar в путь к классам IntellijIdea, и решением было добавить JAR в структуру проекта. Я не понимаю, почему IntelliJ не поднимает CLASSPATH. Добавление JAR в дерево библиотек IntelliJ также НЕ делало этого.

Автор: Alz Размещён: 30.10.2020 03:11

плюса

1 Репутация автора

У меня была такая же проблема, я предлагал все, пока не заметил, что в окне «Структура проекта» в IntelliJ есть индекс «Проблемы». Он сказал, что возникла проблема, потому что мой каталог «lib» не был включен в Артефакт. Я просто нажал «Исправить» и после этого все заработало. Может быть, это помогает кому-то еще.

Connecting to a database

This feature is only supported in the Ultimate edition.

Currently, IntelliJ IDEA supports the following vendors. The support includes such features as enhanced code completion and better retrieval of database objects (introspection). If your vendor is not in the list, you still can connect to the database with a JDBC driver. For more information, see Create a connection to a database with a JDBC driver.

To issue a query to a database, you must connect to a data source. The data source is a location of your data (it can be a server, CSV, or a DDL file). The data source connection includes a name and connection settings that are dependent on the data source type.

Amazon Redshift

In your Redshift dashboard, create a Redshift cluster.

Цукерберг рекомендует:  Подключение PHP файлов с помощью .htaccess

In settings of the Redshift cluster, copy the JDBC URL .

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Amazon Redshift .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

From the Connection type list, select URL only .

Paste the JDBC URL from the Redshift cluster settings to the URL field in IntelliJ IDEA.

In User and Password fields, specify your Redshift credentials.

To ensure that the connection to the data source is successful, click Test Connection .

Apache Derby

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Apache Derby .

From the Driver list, select the type of the JDBC driver that you want to use. For remote connections, select Apache Derby (Remote) . For embedded databases, select Apache Derby (Embedded) .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Apache Cassandra

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Apache Cassandra .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

If you want to configure an SSL connection to Apache Cassandra, see https://www.jetbrains.com/help/datagrip/how-to-connect-to-cassandra-with-ssl.html in the DataGrip documentation.


Apache Hive

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Apache Hive .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Azure SQL Database

In your Microsoft Azure account, create an SQL data source.

In IntelliJ >File | Data Sources Ctrl+Shift+Alt+S .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Azure SQL Database .

At the bottom of the data source settings area, click the Download missing driver files link.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To use Azure Active Directory Authentication, select Use Windows domain authentication . To use SQL Authentication, clear the checkbox, and specify your Microsoft Azure credentials in User and Password fields.

To ensure that the connection to the data source is successful, click Test Connection .

The Use Windows domain authentication checkbox is available only on Windows operating systems.

Microsoft Azure supports PostgreSQL, MySQL, MariaDB, and other Database Management Systems (DBMS). If you want to connect to these data sources, create data source connections that correspond to these DMBS. In IntelliJ >Azure database for PostgreSQL , create the PostgreSQL connection.

ClickHouse

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select ClickHouse .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

DDL data source

SQL files that contain data definition language statements (DDL statements) can be used as data sources. As a result, you can reference all tables, columns and other objects defined in such files in the editor.

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select DDL Data Source .

In the DDL Files pane, click the Add button .

In the file browser, navigate to the SQL file or files with DDL statements and click Open .

In the SQL Dialects dialog, select a dialect that you want to use for the added SQL file.

Apply settings and click OK .

You can attach a directory with SQL files that contain DDL statements and drag them from the Files tool window to the Database tool window.

Exasol

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Exasol .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Greenplum

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Greenplum .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select H2 .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .


To ensure that the connection to the data source is successful, click Test Connection .

You can select between different H2 connection modes: Remote, In-memory, Embedded. For more information about these modes, see the official H2 documentation.

HSQLDB

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select HSQLDB .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

IBM Db2

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select IBM Db2 .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

MariaDB

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select MariaDB .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Microsoft SQL Server

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Microsoft SQL Server .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

The Instance field is optional.

To ensure that the connection to the data source is successful, click Test Connection .

If your TCP/IP connection to the host has failed, consider enabling TCP/IP in the SQL Server Network Configuration. For more information about configuring Microsoft SQL Server, Windows domain authentication, and user permissions, see How to connect to MS SQL server in the DataGrip documentation.

Цукерберг рекомендует:  Вакансии ИТЛ Консалтинг

For more information about cSettings_File_Encodingsonnecting to LocalDB, see How to connect to SQL Server Express LocalDB in the DataGrip documentation.

MySQL

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select MySQL .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Oracle

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Oracle .

At the bottom of the data source settings area, click the Download missing driver files link.

From the Connection Type list, select a connection type:

SID : to use a unique name of an Oracle instance (a process that runs on the workstation).

Service name : to use an alias to an Oracle instance (or many instances).

TNS : to use tnsnames.ora configuration file. In TNSADMIN field, specify a path to the tnsnames.ora file. In TNS name , specify what service name to use (see a value of net_service_name in tnsnames.ora ) if you have more than one service.

URL only : to use the JDBC URL.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

From the Driver list, specify the driver type. For more information about driver types, see Oracle JDBC FAQ.


At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

To ensure that the connection to the data source is successful, click Test Connection .

PostgreSQL

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select PostgreSQL .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Snowflake

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Snowflake .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Warehouse is a cluster of compute resources in Snowflake. A warehouse provides the required resources, such as CPU, memory, and temporary storage. For more information about Snowflake, see the Snowflake user guide.

SQLite

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select SQLite .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

To connect to an existing SQLite database, specify a file path to the database file in the File field.

To ensure that the connection to the data source is successful, click Test Connection .

Sybase ASE

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Sybase ASE .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

Vertica

In the Database tool window ( View | Tool Windows | Database ), click the Data Source Properties icon .

In the Data Sources and Drivers dialog, click the Add icon ( ) and select Vertica .

At the bottom of the data source settings area, click the Download missing driver files link. Alternatively, you can specify user drivers for the data source. For more information about user drivers, see Add a user driver to an existing connection.

Specify database connection details. Alternatively, paste the JDBC URL in the URL field.

To set an empty password, right-click the Password field and select Set empty .

To ensure that the connection to the data source is successful, click Test Connection .

не удается подключиться к MySQL в IntelliJ IDEA

У меня есть эта проблема:

Эта проблема (не может найти указанный файл) появился, когда я обновил IntelliJ IDEA версии 2020.3.2 ,

Все входные данные верны. Какова причина?

Создан 28 дек. 17 2020-12-28 01:02:57 D. Nichiporenko

Что отображается, если вы нажмете на просмотр? – Roman C 28 дек. 17 2020-12-28 01:10:23

@ RomanC подключение ошибка. Он находится на втором экране. – D. Nichiporenko 28 дек. 17 2020-12-28 01:12:50

Я столкнулся с этим один или два раза, и у меня не было правильного набора JAVA_HOME после обновления. С вашего компьютера в Windows вы пытались перезапустить? Кроме того, если вы программируете для Android, у вас установлен правильный Android SDK? – TBridges 28 дек. 17 2020-12-28 01:14:29

@TBridges no, JDK был переустановлен и проверен JAVA_HOME. – D. Nichiporenko 28 дек. 17 2020-12-28 08:39:07

2 ответа

Переустановка снова помог решить эту проблему. Я просто удалил эту версию IntelliJ IDEA и снова установил ее.

Спасибо за помощь!

Создан 28 дек. 17 2020-12-28 13:31:20 D. Nichiporenko

Если вы настроили источники данных из папки IJ, тогда новая версия IJ может содержать более новые версии библиотек, и вы должны воссоздать DS после обновления.

Чтобы установить соединение с базами данных из IJ, вам необходимо сначала настроить источники данных. Источник данных содержит путь к библиотеке с драйверами, необходимыми для подключения к серверу.

Чтобы иметь возможность работать с вашей базой данных, определите ее как источник данных.


В нижней части диалогового окна, в разделе Загрузка отсутствующих файлов драйверов, нажмите ссылку «Загрузить».

Создан 28 дек. 17 2020-12-28 01:17:30 Roman C

Плагин Database Support в IDE от JetBrains

Даже среди тех, кто давно и активно пользуется IntelliJ IDEA, есть немало людей, ничего не знающих о плагине, позволяющем работать с базами данных прямо из IDE. Между тем, лично для меня это — одна из самых полезных возможностей IDEA, ибо писать код я могу и в vi. Важно, насколько удобно его потом отлаживать и улучшать. Спрашивается, при чем тут Database support? Собственно, при отладке приложений я его и использую.

Рассказ про плагин Database Support будет совершенно неофициальным, я сам его использовал только в веб-разработке и в разработке под Android, но хардкорным разработчикам жесткого enterprise тоже, надеюсь, будет интересно.

История веб-разработчика

Как-то раз мне пришла в голову мысль написать веб-приложение. Был шанс, что нагрузка на него будет довольно высокой и неравномерной, так что я решил в качестве СУБД использовать PostgreSQL в надежде, что она будет работать быстрее привычной MySQL. Сказано — сделано. Прототип написан, база создана, начинаем заполнять таблицы всякой тестовой гадостью.

Через некоторое время становится ясно, что структуру таблиц надо немного подправить, да и тестовые записи в них расплодились — надо чистить. И тут выясняется, что стандартный инструмент ручной работы с PostgreSQL — pgAdmin — совсем не похож на phpMyAdmin, и вообще он — самостоятельное десктопное приложение.

Встает вопрос, есть ли какая-нибудь универсальная штука, которая может работать удобным интерфейсом к БД, причем интерфейсом, внешний вид которого не зависит от БД, с которой он работает?

В JetBrains такую штуку довольно давно придумали, это плагин Database Support, который работает с IntelliJ IDEA Ultimate, RubyMine, PyCharm Professional Edition и PhpStorm. Он довольно сложен в разработке и поддержке, так что в бесплатные IDE он не ставится.

Посмотрим, чем же он нам может помочь. Для начала, настроим его для работы с PostgreSQL. Если у нас на компьютере еще нет драйвера JDBC для PostgreSQL, IDE нам предложит его скачать и установить. В моем случае СУБД запущена на том же компьютере, что и IDE:

Видите вкладку Database по правому краю? Вот при нажатии на нее и открывается окно плагина Database Support (можно его открыть и через View | Tool Windows | Database, и через список окон Tool Windows):

Теперь посмотрим, что же мы можем сделать с его помощью. Во-первых, можно смотреть структуру БД в окне плагина, а если надо вывести UML-диаграмму, то и это можно (нажимаем ). Во-вторых, нам доступны просмотр и редактирование таблиц БД. Нажимаем F4 на требуемой таблице и вот она, перед нами:

Любую ячейку мы можем редактировать, нажав F2, отметка «Auto-commit» означает, что после передачи изменений в БД будет автоматически делаться commit. Если отметку снять, то можно будет делать commit и rollback вручную.

При сортировке таблицы (кликайте в имя столбца) изменений в БД не происходит, ибо таблица — это просто результат SELECT *, и если пока вы ее просматриваете, БД изменяется кем-то еще, вы этого не увидите.

Сортировку можно делать по разным столбцам — вначале по одному, потом по другому, а кнопка сброса сортировок (Reset columns order and visibility) появится, если окно достаточно широкое, или вы наведете мышь на двойные угловые скобки слева от настройки Auto-commit.

В этом же окне выбора отображается, в каком порядке сортируются столбцы (A — ascending, по возрастанию, D — descending, по убыванию). Если шрифт вашего look and feel позволяет, то вместо A и D вы увидите красивые стрелочки вверх и вниз. Выбирать столбцы для просмотра можно пробелом.

Сортировку можно делать как в таблице на стороне IDE, так и заранее — на стороне базы. Последнее делается кнопкой ORDER BY, а с помощью View Query можно посмотреть, какой именно запрос IDEA отправляет в базу:

Цукерберг рекомендует:  Refferenceerror - JS при исполнении программы выдает сообщение и не работает

Из неочевидных возможностей стоит отметить недавно — в EAP 13-й версии — появившееся транспонирование строк (в IDEA 12 такого не было): если столбцов так много, что строка не умещается на экран, то двойным ее можно получить в виде столбца, и стрелочками еще бегать вверх-вниз по таблице с длинными строками. С содержимым базы, разумеется, при этом ничего не происходит, оно остается прежним.

Пока что мы работали с Table View базы. Однако поддерживается и режим консоли (нажимаем на значок консоли над tree view в окне Databases):

Теперь мы можем общаться с базой напрямую, отдавая ей SQL-команды, причем в SQL полностью поддерживается знакомый нам autocompletion по .

В консольном режиме тоже есть настройка «Auto-commit». Как и раньше, она означает, что после передачи изменений в БД транзакция будет подтверждаться автоматически. Если отметку снять, то справа от нее активируются кнопки для ручного commit и rollback.

Результаты запросов, если таковые ожидаются (например, при SELECT’ах) будут показаны в отдельной таблице внизу экрана, и их можно просматривать также, как и табличное представление базы, вызванное по F4.

Естественно, что с помощью этого плагина можно менять не только значения полей в таблицах, но и структуру таблиц, для этого легко использовать контекстные меню в дереве БД справа.

История разработчика под Андроид

Если бы поддержкой традиционных БД дело и ограничивалось, то статья на Хабр могла бы и не попасть: в работе с БД с JDBC есть много удобств, но для хабрастатьи не хватало финального аккорда. Аккорд случился осенью 2013-го, когда я пришел к моему коллеге, пишущему всю поддержку Android в JetBrains.

Разработчик под Android легко узнает свои мучения в скриншоте командной строки ниже. Для того, чтобы поработать с базой SQLite на устройстве или эмуляторе напрямую, без приложения, приходится звать adb shell, потом вызывать sqlite3, и просить его открыть базу по адресу, в который входит полное имя пакета приложения. А имя может быть длинным. И autocompletion к adb shell не прилагается.

Поэтому мой визит был жестом отчаяния: даже для того, чтобы сказать DROP DATABASE, когда в таблицах набралось достаточно ненужных тестовых данных, приходилось тратить время на рутинный набор длинных строк.

Любимое дело разработчиков в JetBrains — борьба с рутиной, так что мои горячие просьбы что-нибудь с этим сделать хорошо легли в русло добрых намерений, уже проложенное пятьюдесятью голосами за эту фичу в нашем трекере. Несмотря на тучу других задач, поддержку SQLite в Android допилили за две недели. Решение получилось элегантным: база SQLite вытягивается на компьютер из устройства или эмулятора прозрачно для пользователя, затем с локальной копией можно работать как с обычной БД, а затем ее можно залить в устройство обратно, вызвав Upload из контекстного меню.

Для уверенности в том, что вы работаете с актуальной копией БД, можно синхронизироваться с нею на устройстве, нажав кнопку Syncronize или :

В остальном работа с БД при разработке под Android аналогична работе с обычным SQL-сервером.

В заключение остается сказать, что плагин Database Support поддерживает все СУБД, для которых существуют драйверы JDBC (а это практически все популярные СУБД на рынке), и понимает 12 диалектов SQL. Какой именно диалект вы хотите использовать (и иметь соответствующее автодополнение и прочие фишечки к нему), можно указать в настройках IDE: Settings | SQL Dialects.

Java — Не могу подключиться к MySQL через Intellij Idea

10938 просмотра

6 ответа

21 Репутация автора

Я работаю на OSX Mavericks, работаю с Intellij 12, пытаюсь добавить источник данных, уже определенный в XML, используя фасет персистентности.

Я могу найти и выбрать источник нормально, но когда я пытаюсь проверить соединение, я получаю:

Не удалось подключиться к XXXXX: исключение в потоке «main» java.lang.ClassNotFoundException: com.mysql.jdbc.Driver на java.net.URLClassLoader $ 1.run (URLClassLoader.java:366) на java.net.URLClassLoader $ 1.run ( URLClassLoader.java:355) в java.security.AccessController.doPrivileged (собственный метод) в java.net.URLClassLoader.findClass (URLClassLoader.java:354) в java.lang.ClassLoader.loadClass (ClassLoader.java:4) .misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308) в java.lang.ClassLoader.loadClass (ClassLoader.java:358) в java.lang.Class.forName0 (собственный метод) в java.lang.Class.forName. (Class.java:190) на com.intellij.persistence.database.console.RemoteJdbcServer.main (RemoteJdbcServer.java:15)

Похоже, это просто проблема пути к классам, но я удивительно грубо разбираюсь в том, что мне нужно сделать, чтобы получить банку mysql на пути к классам.

Каждый найденный мной вопрос касается добавления jar в classpath вашего скомпилированного или тестируемого приложения, это НЕ то, что я ищу здесь. Мое приложение подключается к MySQL нормально, с IntellijIDE возникают проблемы. Где мне нужно добавить путь к этому файлу?

Ответы (6)

2 плюса

6554 Репутация автора

Любой из следующих вариантов должен работать

добавить банку в глобальные библиотеки проекта.

поместите jar в каталог lib для intellij.

поместите jar в ext lib jre, под которым работает intellij.

Автор: BevynQ Размещён: 20.05.2014 10:52

9 плюса

195 Репутация автора

Для Intellij 15 (возможно, более низкие версии) это работает:

Добавьте библиотеку JDBC, используя Intellij:


  1. Перейти к представлению -> Инструмент Windows -> База данных.
  2. В окне База данных выберите базу данных и щелкните значок для свойств источника данных (cmd + i).
  3. В следующем окне перейдите на MySQL в разделе Драйверы. В окошке слева под файлами драйверов нажмите скачать. Вот и все.

Автор: frevib Размещён: 11.02.2020 09:52

3 плюса

685 Репутация автора

В IntelliJ Перейти к представлению -> Инструменты Windows -> База данных

Внутри нажмите кнопку + -> Источник данных -> MySql

как показано ниже

На приведенном ниже экране введите данные подключения MySQL и нажмите «Проверить подключение».

убедитесь, что вы загружаете MySQL драйвер для подключения

Автор: Ali Размещён: 22.12.2020 02:39

плюса

122 Репутация автора

Перейдите в меню Itellij IDEA: Файл -> Структура проекта -> Модули -> выберите свой модуль -> Зависимости -> Нажмите +, чтобы добавить библиотеку -> Выберите mysql-connector-java -> Применить и ОК

Автор: xuehui Размещён: 23.10.2020 09:12

плюса

1071 Репутация автора

Мой IntelliJ 2020.2.5 является полностью автономным, без Maven и не отображает меню базы данных в View / Tool Windows. Единственное, что сработало для меня, было задокументировано здесь: добавление файлов Jar в путь к классам IntellijIdea, и решением было добавить JAR в структуру проекта. Я не понимаю, почему IntelliJ не поднимает CLASSPATH. Добавление JAR в дерево библиотек IntelliJ также НЕ делало этого.

Автор: Alz Размещён: 30.10.2020 03:11

плюса

1 Репутация автора

У меня была такая же проблема, я предлагал все, пока не заметил, что в окне «Структура проекта» в IntelliJ есть индекс «Проблемы». Он сказал, что возникла проблема, потому что мой каталог «lib» не был включен в Артефакт. Я просто нажал «Исправить» и после этого все заработало. Может быть, это помогает кому-то еще.

Урок Java 186: JDBC 4: Как подключиться к MySql из Intellij > 1 min read

Есть скидки на следующие курсы:
(Колличество купонов ограничено, если по ссылке цена больше 9.99 значит купоны закончились)
HTML:
https://www.udemy.com/html-kurs/?couponCode=HTML_COUPON
MAVEN:
https://www.udemy.com/maven-kurs/?couponCode=MAVEN_COUPON
GIT:
https://www.udemy.com/git-study/?couponCode=GIT_COUPON
DOCKER:
https://www.udemy.com/docker-kurs/?couponCode=DOCKER_COUPON
MONGODB:
https://www.udemy.com/mongo-nosql/?couponCode=MONGODB_COUPON
KOTLIN
https://www.udemy.com/kotlin-kurs/?couponCode=KOTLIN_COUPON
APACHE SPARK:
https://www.udemy.com/spark-kurs/?couponCode=SPARK_COUPON
GWT
https://www.udemy.com/gwt-kurs/?couponCode=GWT_COUPON
SQL:
https://www.udemy.com/sql-kurs/?couponCode=SQL_COUPON
MYSQL:
https://www.udemy.com/mysql-kurs/?couponCode=MYSQL_COUPON
IDEA
https://www.udemy.com/intellij- > Многопоточность:
https://www.udemy.com/java-thread/?couponCode=MULTITHREADING
Регулярные выражения:
https://www.udemy.com/reg-expr/?couponCode=REGEX_COUPON
Паттерны:
https://www.udemy.com/patterns/?couponCode=PATTERNS_COUPON
Как правильно писать код:
https://www.udemy.com/java-best-practice/?couponCode=BEST_PRACTICE
Java EE:
https://www.udemy.com/kurs-java-ee/?couponCode=JAVAEE_COUPON

Java Introduction

Opening Ceremony Java Summer Camp 2020, Saka Pariwisata Muba Tampilkan Kesenian Khas Musi Banyuasin

«Final Variable» in Core Java Programming (Hindi/Urdu)

10 thoughts on “ Урок Java 186: JDBC 4: Как подключиться к MySql из Intellij Idea ”

Подскажите, что делать, если при нажатии Test connection выводит Connection Error: Connection to jdbc:mysql://localhost:3306//var/ran/mysqld/mysqld.sock failed.
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
Поле Database указал правильно.
В чём может быть ошибка?

Впредь советую в названии указывать что «из Intellij Idea Ultimate»

Подскажите пожалуйста, у меня есть java сервер, есть андроид приложение, как сделать, чтобы данные, которые я передаю на сервер, через приложение, сохранялись в базе данных?

Все здорово кроме платной версии понятно что это не желание автора но может другой какой ide тогда пользоваться ч о бы слушатель мог параллельно пробовать.

Ты бы хоть объяснял что делаешь, маста. Это всё же урок, а не демонстрация твоих возможностей;)

Ну Алтимейт же, а не ультимат… )))

подскажите пожалуйста, словил такую ошибку, может это из-за драйвера?
Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Thu May 17 18:51:30 MSK 2020 WARN: Establishing SSL connection without server’s >Exception in thread «main» java.sql.SQLException: The server time zone value ‘RTZ 2 (çèìà)’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
at com.mysql.cj.jdbc.ConnectionImpl. (ConnectionImpl.java:444)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at Solution.Solution.main(Solution.java:17)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘RTZ 2 (çèìà)’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:83)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)
at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2201)
at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2225)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1391)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:993)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:852)
… 6 more

В коммьюнити эдишн есть DBManager плагин в репозитории. К mysql умеет подсоединяться.

Проблемы с подключением к MySql 8, через Intellij Idea (java, mysql, intellij-idea)

После обновления jdbc драйвера в Intellij Idea, выскакивает такая ошибка:

Пробовал использовать разные драйвера, но ничего не помогает.

Если кто-нибудь знает решение, плиз хелп.

Ответы (1)

После инициализации каталога данных, и вы запустили сервер, выполните несколько простых тестов, чтобы убедиться, что он работает удовлетворительно. В этом разделе предполагается, что ваше текущее местоположение является установочным каталогом MySQL и что у него есть подкаталог bin, содержащий программы MySQL, используемые здесь. Если это неверно, соответствующим образом отредактируйте имена путей команд.

Кроме того, добавьте каталог bin в настройку переменной среды PATH. Это позволяет вашей командной оболочке (командному интерпретатору) правильно находить программы MySQL, чтобы вы могли запускать программу, введя только ее имя, а не его имя пути. См. Раздел 4.2.10 «Настройка переменных среды».

Используйте mysqladmin для проверки работы сервера. Следующие команды предоставляют простые тесты для проверки того, работает ли сервер и отвечает на соединения:

Если вы не можете подключиться к серверу, укажите параметр -u root для подключения с правами root. Если вы уже назначили пароль для учетной записи root, вам также необходимо указать -p в командной строке и ввести пароль при появлении запроса. Например:

Не удается подключиться к MySQL в Intellij IDEA

У меня есть эта проблема:

Эта проблема (не удается найти указанный файл) появилась, когда я обновил IntelliJ IDEA до версии 2020.3.2.

Все входные данные верны. Какова причина?

Если вы настроили источники данных из папки IJ, то новая версия IJ может содержать более новые версии библиотек, и вам следует воссоздать DS после обновления.

Чтобы подключиться к базам данных из IJ, вам нужно сначала настроить источники данных. Источник данных содержит путь к библиотеке с драйверами, необходимыми для подключения к серверу.

Чтобы иметь возможность работать с вашей базой данных, определите ее как источник данных.

В нижней части диалогового окна, в разделе «Загрузка отсутствующих файлов драйверов», нажмите ссылку «Загрузить».

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих