Рубрики
Без рубрики

Spring Boot + PostgreSQL + Maven: пример CRUD

В этом уроке мы создадим пример Spring Boot + PostgreSQL с Maven, который использует Spring Da… С тегами spring, postgres, java, web dev.

В этом руководстве мы создадим пример Spring Boot + PostgreSQL с Maven, который использует Spring Data JPA/Hibernate для взаимодействия с базой данных PostgreSQL и экспорта Rest CRUD API. Ты будешь знать:

  • Как настроить Spring Data, JPA, Hibernate для работы с базой данных PostgreSQL
  • Как определить модели данных и репозиторий интерфейсы
  • Способ создания контроллера Spring Rest для обработки HTTP-запросов
  • Способ использования Spring Data JPA для взаимодействия с базой данных PostgreSQL

Полная статья: Spring Boot + PostgreSQL + Maven: пример CRUD

Обзор Spring Boot, пример PostgreSQL с Maven

Мы создадим Spring Boot + PostgreSQL + Rest CRUD API для обучающего приложения в этом:

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

Это API-интерфейсы, которые мы должны предоставить:

/api/учебные пособия создать новый учебник пост
/api/учебные пособия извлеките все учебные пособия получить
/api/tutorials/:идентификатор извлеките учебное пособие с помощью : идентификатор получить
/api/tutorials/:идентификатор обновите учебное пособие по :id класть
/api/tutorials/:идентификатор удалить учебное пособие по :id удалить
/api/учебные пособия удалить все учебные пособия удалить
/api/учебные пособия/опубликовано найти все опубликованные учебные пособия получить
/api/tutorials?title=[ключевое слово] найдите все учебные пособия, название которых содержит ключевое слово получить
  • Мы создаем CRUD-операции и методы поиска с помощью Spring Data JPA JpaRepository .
  • База данных будет PostgreSQL путем настройки зависимости проекта и источника данных.

Технология

  • Java 8
  • Spring Boot 2 (с Spring Web MVC, Spring Data JPA)
  • PostgreSQL
  • Знаток

Структура проекта Maven

Позвольте мне вкратце объяснить это.

Учебное пособие класс модели данных соответствует сущности и таблице учебные пособия . – TutorialRepository – это интерфейс, который расширяет JpaRepository для методов CRUD и пользовательских методов поиска. Он будет автоматически подключен в Обучающий контроллер . – Tutorialcontroller – это RestController , который имеет методы сопоставления запросов для запросов RESTful, таких как: getAllTutorials , создать учебное пособие , обновить учебное пособие , Удалить учебное пособие , Найти опубликованное … – Конфигурация для Spring Datasource, JPA и гибернации в application.properties . – pom.xml содержит зависимости для Spring Boot и PostgreSQL.

Запустите приложение

Запустите приложение Spring Boot + PostgreSQL с помощью Maven: mvn spring-boot:run .

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

testdb=# \d tutorials
             Table "public.tutorials"
   Column    |          Type          | Modifiers
-------------+------------------------+-----------
 id          | bigint                 | not null
 description | character varying(255) |
 published   | boolean                |
 title       | character varying(255) |
Indexes:
    "tutorials_pkey" PRIMARY KEY, btree (id)

Создайте несколько обучающих программ:

testdb=# SELECT * FROM tutorials;
 id |    description    | published |            title
----+-------------------+-----------+------------------------------
  1 | Tut#1 Description | f         | Spring Boot Tut#1
  2 | Tut#2 Description | f         | PostgreSQL Tut#2
  3 | Tut#3 Description | f         | Spring Data JPA Tut#3
  4 | Tut#4 Description | f         | Maven Tut#4
  5 | Tut#5 Description | f         | Spring Boot PostgreSQL Tut#5
(5 rows)

Обновите некоторые учебные пособия:

testdb=# SELECT * FROM tutorials;
 id |    description    | published |            title
---------+-------------------+-----------+------------------------------
  3 | Tut#3 Description | f         | Spring Data JPA Tut#3
  5 | Tut#5 Description | f         | Spring Boot PostgreSQL Tut#5
  2 | Desc for Tut#2    | t         | PostgreSQL DB Tut#2
  4 | Desc for Tut#4    | t         | Maven Tut#4
  1 | Desc for Tut#1    | t         | Spring Boot Tut#1
(5 rows)

Извлеките все учебные пособия:

Получить учебное пособие по идентификатору:

Найти все опубликовано Учебные пособия:

Найдите все учебные пособия, название которых содержит “кольцо”:

Удалить учебное пособие:

testdb=# SELECT * FROM tutorials;
 id |    description    | published |            title
---------+-------------------+-----------+------------------------------
  3 | Tut#3 Description | f         | Spring Data JPA Tut#3
  5 | Tut#5 Description | f         | Spring Boot PostgreSQL Tut#5
  2 | Desc for Tut#2    | t         | PostgreSQL DB Tut#2
  1 | Desc for Tut#1    | t         | Spring Boot Tut#1
(4 rows)

Удалить все учебные пособия:

testdb=# SELECT * FROM tutorials;
 id | description | published | title
---------+-------------+-----------+-------
(0 rows)

Исходный код

Для получения пошаговой инструкции и Github, пожалуйста, посетите: Полная статья: Spring Boot + PostgreSQL + Maven: пример CRUD

Дальнейшее Чтение

Если вы хотите добавить разбивку на страницы в этот проект Spring, вы можете найти инструкцию по адресу: Пример разбивки на страницы и фильтрации Spring Boot | Spring JPA, Доступный для просмотра по страницам

Для сортировки/упорядочения по нескольким полям: Spring Data JPA Сортировка/Упорядочение по нескольким столбцам | Spring Boot

Обрабатывать исключение для этого Rest API необходимо:

Или способ написания модульного теста для репозитория JPA: Модульный тест Spring Boot для репозитория JPA с помощью @DataJpaTest

Безопасность: Spring Boot, Spring Security, PostgreSQL: Пример аутентификации JWT

Вы также можете знать:

  • как развернуть это приложение Spring Boot на AWS (бесплатно) с помощью этого руководства .
  • способ загрузить файл Excel и сохранить данные в базе данных MySQL с помощью этот пост
  • загрузите CSV-файл и сохраните данные в MySQL с помощью this post .

Примеры полного стека:

Оригинал: “https://dev.to/tienbku/spring-boot-postgresql-maven-crud-example-598m”