Статьи
YouTube-канал
Отзывы

Статьи с тэгом «PostgreSQL»

Пакетная вставка с помощью Spring JDBC API

24 ноября 2021

Тэги: SQL, Spring, Kotlin, PostgreSQL, Spring Boot, YouTube.

Давайте рассмотрим, как обеспечить пакетную вставку (batch insert) большого количества данных с помощью Spring JDBC API. Допустим, нам нужно вставить 100 000 строк в таблицу в postgres. В качестве драйвера для работы с БД используем стандартный org.postgresql:postgresql.

Мы рассмотрим несколько вариантов, начиная с самого простого и заканчивая самым быстрым, постепенно улучшая нашу реализацию. Если вам нужен финальный вариант, листайте сразу к последнему.

Данный материал доступен также в формате видео на YouTube.

Модель данных

Допустим у нас есть такая таблица для хранения истории каких-то заказов:

create table amount_history
(
    id       serial
        constraint amount_history_pk
            primary key,
    username varchar   not null,
    amount   numeric   not null,
    created  timestamp not null
);
Читать полностью...

Работа с Liquibase в Spring Boot

22 ноября 2021

Тэги: SQL, PostgreSQL, Spring Boot, gradle, Kotlin, yaml.

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

Данный материал также доступен в формате видео на YouTube.

Подключаем liquibase к приложению

Рассмотрим работу с Liquibase на конкретном примере. С помощью Spring Initializr создадим заготовку нашего Spring Boot приложения (выбираем в качестве языка kotlin, а в качестве сборщика - gradle). В dependencies выберем компоненты Spring Web (функциональность rest-контроллеров), Spring Data JDBC (работа с БД), PostgreSQL Driver (драйвер нашей СУБД) и cам Liquibase Migration. В итоге файл build.gradle.kts в секции dependencies должен содержать следующие зависимости:

Читать полностью...

Рекурсивный запрос на postgres

21 ноября 2021

Тэги: PostgreSQL, SQL, YouTube.

Когда различные иерархии находятся в пределах одной таблицы, может потребоваться пройтись по одной из веток этой иерархии, начиная с самого нижнего элемента и заканчивая корневым. Примером иерархических данных может служить структура каталогов на файловой системе, оргструктура в компании или справочник географических объектов (города-страны-континенты).

PostgreSQL предоставляет специальный синтаксис with recursive для написания рекурсивных запросов. Эти запросы позволяют легко выбирать иерархические данные.

Данный гайд также доступен в формате видео на YouTube.

Рассмотрим конкретную таблицу:

Читать полностью...

Restful-сервис на Spring JDBC и Kotlin (серия видео)

23 сентября 2021

Тэги: Spring Boot, YouTube, gradle, Kotlin, новости, Spring, PostgreSQL, rest.

На нашем youtube-канале опубликована целая серия видео о том, как шаг за шагом создать restful-сервис на основе Spring Boot.

В качестве примера рассматриваем проект на Kotlin. Для взаимодействия с БД используем Spring JDBC API. В качестве базы данных выбрали postgres. Исходники проекта доступны на github.

Читать полностью...

Видео по Spring Data JPA и Kotlin: "один-ко-многим"

25 августа 2021

Тэги: YouTube, Spring Boot, новости, Kotlin, PostgreSQL, Spring Data, Spring, SQL.

Продолжаем цикл видео о создании типового приложения гео-данных с помощью Spring Data JPA. Код пишем на Kotlin. В этой части я расскажу о том, как связывать две сущности в БД postgres с помощью отношения «один-ко-многим» (one-to-many). У нас уже есть сущность «Страна», к которой мы добавим новую сущность «Город». С одной страной может быть связано несколько городов (отсюда и название отношения).

Также вы узнаете, как в Spring Data JPA можно решить проблему N+1, когда за один запрос нужно подгрузить из БД и родительскую сущность, и все связанные с ней дочерние.

Если после просмотра видео у вас остались вопросы, смело задавайте их в комментариях под видео или на этой странице - я с удовольствием отвечу. Также не забывайте ставить лайки, чтобы видео посмотрело как можно большее количество человек и подписывайтесь на канал, чтобы не пропустить обновления. Исходники рассматриваемого проекта доступны по ссылке на github.

Все видео из серии можно найти в плейлисте.

Читать полностью...

Spring Initializr: создаём проект на Kotlin в Idea Ultimate

24 августа 2021

Тэги: Spring Boot, PostgreSQL, rest, Kotlin, gradle, YouTube, новости.

Ранее я уже снимал видео о том, как создавать с нуля проект на Spring и Kotlin с помощью сервиса Spring Initializr, который предоставляет интерфейс для генерации заготовки проекта с добавлением стандартных зависимостей.

Теперь пришла пора рассказать о том, как сделать то же самое, не покидая IntelliJ Idea Ultimate Edition. Так что если вы работаете именно в этой (платной) версии, то вам крупно повезло и создание проекта у вас займёт считаные секунды.

Видео как обычно, уже доступно на YouTube.

Кстати, не забывайте подписываться на канал!

Читать полностью...

Видео по Spring Data JPA и Kotlin: обработка ошибок

23 августа 2021

Тэги: Spring Boot, PostgreSQL, rest, YouTube, новости, Kotlin.

На нашем Youtube-канале появилось новое видео. Это шестая часть из серии видеоуроков по созданию restful приложения на Kotlin с использованием Spring Data JPA. В ней мы научимся правильно обрабатывать ошибки. В качестве примера будем возвращать 404 Not Found в том случае, если в базе данных не найдена запись по id. Также научимся делать свой собственный набор полей, которые будут отдаваться клиенту в случае ошибки.

Ставьте лайк и обязательно подписывайтесь на канал, чтобы не пропустить следующую серию! Любые вопросы пишите в комментариях. Также к видеоуроку прилагаются исходники проекта в gitlab (серая кнопка в начале этой новости).

Все видео из серии можно найти в плейлисте.

Ну и не забывайте про чат-бот в Telegram. Там вы найдёте несколько полезных утилит для разработчиков. В будущем функционал бота будет только расширяться.

Читать полностью...

Spring Initializr: создаём проект на Java в Idea Ultimate

22 августа 2021

Тэги: Java, Spring Boot, Java 16, Apache, maven, Spring, PostgreSQL, YouTube, новости.

Ранее я уже снимал видео о том, как создавать с нуля проект на Spring и Java с помощью сервиса Spring Initializr, который предоставляет интерфейс для генерации заготовки проекта с добавлением стандартных зависимостей.

Один из подписчиков моего YouTube-канала попросил выложить видео о том, как сделать то же самое, не покидая IntelliJ Idea Ultimate Edition. Так что если вы работаете именно в этой (платной) версии, то вам крупно повезло и создание заготовки проекта у вас займёт считаные секунды.

Видео как обычно, уже доступно на YouTube.

Кстати, не забывайте подписываться на канал!

Читать полностью...

Видео по Spring Data JPA и Kotlin: удаление записей

9 августа 2021

Тэги: Spring Boot, PostgreSQL, rest, YouTube, новости, Spring, Spring Data, Kotlin.

На нашем Youtube-канале появилось новое видео. Это пятая часть из серии видеоуроков по созданию restful приложения на Kotlin с использованием Spring Data JPA. В ней мы научимся удалять записи из таблицы в базе данных postgres.

Ставьте лайк и обязательно подписывайтесь на канал, чтобы не пропустить следующую серию! Любые вопросы пишите в комментариях. Также к видеоуроку прилагаются исходники проекта в gitlab (серая кнопка в начале этой новости).

Все видео из серии можно найти в плейлисте.

Ну и не забывайте про чат-бот в Telegram. Там вы найдёте несколько полезных утилит для разработчиков. В будущем функционал бота будет только расширяться.

Читать полностью...

Видео по Spring Data JPA и Kotlin: создание и обновление записей

8 августа 2021

Тэги: Spring Boot, PostgreSQL, rest, YouTube, новости, Spring Data, Spring, Kotlin.

На нашем Youtube-канале появилось новое видео. Это четвёртая часть из серии видеоуроков по созданию restful приложения на Kotlin с использованием Spring Data JPA. В ней мы научимся создавать новые записи и обновлять существующие в таблице базы данных postgres.

Ставьте лайк и обязательно подписывайтесь на канал, чтобы не пропустить следующую серию! Любые вопросы пишите в комментариях. Также к видеоуроку прилагаются исходники проекта в gitlab (серая кнопка в начале этой новости).

Все видео из серии можно найти в плейлисте.

Ну и не забывайте про чат-бот в Telegram. Там вы найдёте несколько полезных утилит для разработчиков. В будущем функционал бота будет только расширяться.

Читать полностью...

Далее ❯