В этом руководстве мы создадим пример 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 .
Примеры полного стека:
- Vue.js + Весенняя загрузка + Пример PostgreSQL
- Пример Angular 8 + Spring Boot + PostgreSQL
- Пример Angular 10 + Spring Boot + PostgreSQL
- Angular 11 + Spring Boot + PostgreSQL пример
- Пример React + Spring Boot + PostgreSQL
Оригинал: “https://dev.to/tienbku/spring-boot-postgresql-maven-crud-example-598m”