Перейти к содержимому

Как установить драйвер postgresql в intellij

  • автор:

Как подключить MySQL к бесплатной версии Intellij IDEA (community)

Привет, сегодня покажу как подключить Ваше приложение к базе данных (БД) в бесплатной версии Intellij IDEA (community).В статье будет: много картинок, мало букв, будет интересно и полезно.

Статья ориентирована на людей уже знакомых с Java Core и MySQL.

А так же для подключения базы данных к приложению Вам необходимо скачать и перед прочтением статьи установить сервер с официального сайта (Это бесплатно).https://dev.mysql.com/downloads/workbench/

1: Создаём новый проект в Intellij IDEA

image

2: Затем идём вFile->Settings->Plugins->MarketPlace и в поисковой строке вводим Database Navigator.Устанавливаем, перезапускаем Intellij IDEA.

3: После установки плагина и перезапуска Intellij IDEA, в Вашем ТулБаре появится новое окно (DB Navigator)

4: Заходим в новое окно(DB Navigator), нажимаем зелёный плюсик и из предложенного списка выбираем MySQL

5: В появившемся окне вписываем в поле Name, имя которое вы хотите дать базе данных. Описание можно оставить пустым.Host и Port трогать не нужно. Проследите за тем что бы в поле Database была строка mysql. Вводим User и Password (Обычно это (root) для Логина и Пароля). После всего нажимайте Test Connection.

6: При тестировании соединения может возникнуть ошибка временной зоны. Для её исправления в поиске операционной системы вводим mysql, и выбираем MySQL Command Line Client (всё как на картинке).

7: В появившемся консоле вводим пароль БД, И вводим команду set global time_zone = ‘+3:00’;(+3 часа это мой часовой пояс так как я нахожусь в Минске, вы вводите часовой пояс своего города).

8: После исправления ошибки жмите Apply, Ok и в вашем DB navigator появляется структура БД с которой вы можете просматривать таблицы и БД.

9: Рекомендую при просматривании таблиц нажимать на кнопку No filters.

10: Теперь нужно установить драйвер (это быстро) для Вашей БД. Идём на официальный сайт ORACLE ( dev.mysql.com/downloads/connector/j ) и качаем архив. Выберите из списка Platform Independent.

11: Когда архив загрузился, открываем его и извлекаем файл (смотрите картинку) в папку (путь к папке нужно запомнить).

12: Переходим в Intellij IDEA, там ищем File->Project Structure ->SDK’s -> плюсик который отмечен стрелкой -> ищем файл который только что скачали -> жмём ОК.

13: База Данных подключена к Intellij IDEA! Теперь надо разобраться как подключиться к ней через приложение. Для этого я создал класс который назвал TestConnection и в нём прописал константы (USER_NAME, PASSWORD, URL), создал статические Statement и Connection.

14: Кстати что бы найти значение поля URL, нужно открыть Ваш DB Navigator, нажать на зелёный плюс, выбрать mysql(Тут БД может попросить логин и пароль), и в открывшемся окне выбрать Info. Скопировать значение строки Connection URL.Это и будет URL.

15: Осталось немного. Просим у ДрайверМенеджера что бы он дал нам соединение (смотрите картинку ниже, верхний красный блок).Всё должно быть обёрнуто в ТрайКэтч. А в нижнем блоке создаём Statement.

16: Как я уже писал статья ориентирована на людей уже знакомых с языком MySQL. все запросы легко гугляться, язык очень простой и является MustHave(обязательно) для каждого BackEND Developer, поэтому я не буду объяснять что написано на языке SQL (было бы очень долго). Что касается Java:

1 — В главном методе (main) нужно указать ClassPath (первая строка на картинке).
2 — Во втором красном блоке у Statement я вызвал метод executeUpdater. Его нужно использовать для обновления или добавления данных в таблице. Метод, по умолчанию, в параметры принимает строку в которую Вам следует писать ваши SQL-запросы обёрнутый в двойные кавычки.
3 — Добавление данных в таблицу наглядно.
4 — Для получения данных из таблицы я вызвал метод executeQuery у Statement, он так же принимает строку в параметры.
5 — Что бы вывести в консоль данные полученные с таблицы я использую цикл while с параметром (смотрите картинку) который проходит все строки таблицы по очереди, а в теле вызывается метод getString у resulySet (Всё как на картинке). этот метод принимает в параметры цифру которая означает номер колонки которую вы хотите получить.

Какие могут быть ошибки

Хочу рассказать о некоторых ошибках с которыми Вы можете встретиться, конечно вы можете это не читать, но это очень важно.

1 — Если создание таблицы прошло успешно, её следует закомментировать потому что так как таблица уже создана, при следующем запуске приложение вылетит, потому что код начнёт отрабатывать по новой и попытается создать ещё одну таблицу с таки же Name, а это запрещено.

Будет вот такая ошибка. Что значит «Таблица Name уже существует»

2 — Так же и со всеми данными, если они добавлены успешно, следует удалять или комментировать строки которые их добавляли или обновляли.

3 — Будьте внимательны с SQL, Intellij IDEA не подчёркивает ошибки которые вы допускаете в синтаксисе, закрывайте скобки и кавычки. Пример ошибки синтаксиса SQL

Всем спасибо
AlexOakUnlimited ©

Как подключить JDBC драйвер в Intellij IDEA?

Начал изучать SQl, в качестве подопытной СУБД выбрал PostgreSQL. В процессе подготовки выявилась одна проблема — не пойму как подключить драйвер, программа ни как не хочет увидеть его класс, хотя в драйвере он лежит. Библиотеку драйвера импортировал, в модулях поставил галочку над Export, а работать все-равно не хочет. Драйвер скачивал с офф. сайта, версия 41 так как вроде написано что она под Java 8. Помогите разобраться куда надо ткнуть чтобы оно заработало, не зря же я книги покупал. 🙁 Для проверки работа-способности использую следующий код:

public class Eye < public static void main(String[] args) < try < Class.forName("org.posgresql.Driver"); System.out.println("Driver loading success!"); >catch (ClassNotFoundException e) < e.printStackTrace(); >> 

После компиляции выдает следующее:

java.lang.ClassNotFoundException: org.posgresql.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:259) at Eye.main(Eye.java:8) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 

Process finished with exit code 0

PostgreSQL

This functionality relies on the Database Tools and SQL plugin, which is bundled and enabled in IntelliJ IDEA by default. If the relevant features aren’t available, make sure that you didn’t disable the plugin.

The Database Tools and SQL plugin is available only in IntelliJ IDEA Ultimate.

  1. Press Control+Alt+S to open the IDE settings and then select Plugins .
  2. Open the Installed tab, find the Database Tools and SQL plugin, and select the checkbox next to the plugin name.

Official documentation and software

  • For full information about PostgreSQL, refer to the official documentation.
  • To download PostgreSQL database software, refer to the official software downloads.

This topic presents a general procedure on how you can create a data source for the connection to your PostgreSQL database in IntelliJ IDEA, and run a test connection. It is assumed that you already have the necessary prerequisites and the database is up and running. For example, if you want to run a database on your machine and connect to that database, the corresponding DBMS software must be installed on the machine first.

Connect to a PostgreSQL database

Create a new data source

  1. To connect to the database, create a data source that will store your connection details. You can do this using one of the following ways:
    • From the main menu, navigate to File | New | Data Source and select PostgreSQL .
    • In the Database tool window ( View | Tool Windows | Database ) , click the New icon () in the toolbar. Navigate to Data Source and select PostgreSQL .
  2. In the General tab of Data Sources and Drivers dialog right pane, specify the driver and connection type.
    1. In the Driver list, leave the default driver option, unless another driver is required for your connection.
    2. From the Connection type list, select the connection type depending on the connection details that you have:
      • default : connect by using Host , Port , Database , and URL .
      • URL only : connect by using only the URL .

    For the URL only connection type, the JDBC URL that you enter is used as is.

    For the other connection types, the JDBC URL is broken down into connection details. You can either specify them separately and use the automatically generated URL, or you can enter the URL directly in the corresponding field.

General tab of the Data Sources and Drivers dialog

  • Check if there is a Download missing driver files link at the bottom of the connection settings area. Click this link to download drivers that are required to interact with a database. For a direct download link, refer to the JetBrains JDBC drivers page. Location for the downloaded JDBC drivers is the IntelliJ IDEA configuration directory. The Download missing driver files linkYou can also use your drivers for the database instead of the provided ones. For more information about connecting to a database with your driver, refer to Add a user driver to an existing connection. If there is no Download missing driver files link, then you already have the required drivers.
  • Specify the database connection details. Alternatively, paste the JDBC URL in the URL field.

    the Set Empty context menu action

    1. In the Host field, type your server address.
    2. In the Port field, type the port of PostgreSQL. The default port is 5432. Real port numbers might be different on your system. Verify that you use a correct port number with your database administrator, server settings, or hosting provider.
    3. From the Authentication list, select the authentication method that you want to use to authenticate the connection. The following options are available:
      • pgpass : by using the pgpass file. You can store this file in the user’s home directory. You can read more about the password file and its location in The Password File at postgresql.org.
      • User & Password : by using your login and password.
      • No auth : authentication is not required.
    4. In the User and Password fields, type your user credentials. To use no password, leave the Password field empty. To delete a once entered password, right-click the Password field and select Set Empty .
    5. In the Database field, type the database name to which you want to connect.
    6. In the URL field, IntelliJ IDEA generates the JDBC URL automatically using the values of other connection settings. If you need to use a JDBC URL with certain additional settings, paste it in the URL field. The general URL to use is as follows:
      • Format: jdbc:postgresql://:/
      • Example: jdbc:postgresql://127.0.0.1:5432/myDatabase

    For more information about the URL format, refer to the PostgreSQL official documentation.

    Database connection details

    1. From the Authentication list, select the authentication method that you want to use to authenticate the connection. The following options are available:
      • User & Password : by using your login and password.
      • No auth : authentication is not required.
    2. In the User and Password fields, type your user credentials. To use no password, leave the Password field empty. To delete a once entered password, right-click the Password field and select Set Empty . the Set Empty context menu action
    3. In the URL field, IntelliJ IDEA generates the JDBC URL automatically using the values of other connection settings. If you need to use a JDBC URL with certain additional settings, paste it in the URL field. For more information about the URL format, refer to the PostgreSQL official documentation.

    Database connection details

    For the reference information about connection settings and properties on the General and other tabs of Data Sources and Drivers dialog ( Shift+Enter ), see Connection settings and DBMS-specific properties.

  • Ensure that the connection to the database can be established using the provided details. To do that, click the Test Connection link at the bottom of the connection details area. Test Connection linkIn case of any connection issues, refer to the Cannot connect to a database page.
  • (Optional) By default, only the default database and schema are introspected and available to work with. If you also want to work with other databases and schemas, in the Schemas tab, select them for the introspection. Schemas tab of the Data Sources and Drivers dialog
  • Click OK to create the data source.
  • Find your new data source in the Database tool window ( Shortcut is missing ) .
    • For more information about the Database tool window, see the corresponding reference topic. To see more databases and schemas under your new data source node, click the N of M button and select the ones you need. IntelliJ IDEA will introspect and show them. Select databases and schemas to introspect and display in the Database tool window
    • For more information about working with database objects in IntelliJ IDEA, refer to Database objects.
    • To write and run queries, open the default query console by clicking the data source and pressing F4 .
    • To view and edit data of a database object, open Data editor and viewer by double-clicking the object.
  • Connection settings and DBMS-specific properties

    Connection settings

    For the reference information about connection settings (for example, Host , Port , and so on) on the General and other tabs of Data Sources and Drivers dialog ( Shift+Enter ), see Data source settings.

    Плагин 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:

    image

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

    image

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

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

    под спойлером — коллаж, одновременно увидеть подсказки Commit и Rollback невозможно, не пытайтесь!

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

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

    Нажимаем или используем Structure Toolwindow (), и можем выбрать, какие столбцы мы хотим отображать, а какие — нет.

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

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

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

    image

    Пока что мы работали с 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, когда в таблицах набралось достаточно ненужных тестовых данных, приходилось тратить время на рутинный набор длинных строк.

    image

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

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

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

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

    • Блог компании JetBrains
    • Веб-разработка
    • Программирование

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *