В предыдущем посте я вкратце рассказал о Spring Data JPA и затронул тему «волшебных» методов, приведя простой пример их использования. Однако возможности волшебных методов значительны, благодаря чему ими можно заменить именованные запросы в большинстве случаев.
Spring Framework и работа с базами данных: Spring Data JPA
В предыдущих постах о работе с базами данных в Spring Framework я поверхностно описал использование JdbcTemplate и NamedParameterJdbcTemplate. Пользоваться данными инструментами безусловно удобно, но у них есть определённые ограничения, среди которых:
- Зависимость SQL-запросов от конкретной СУБД
- Необходимость в самостоятельной реализации преобразования данных из БД в экземпляры классов-сущностей
- Увеличение и усложнение кода при появлении новых таблиц и столбцов в таблицах
В стеке Spring существует проект Spring Data, реализующий большую часть тривиальных задач и упрощающий работу с источниками данных. В качестве источников данных могут использоваться как стандартные реляционные базы данных, так и NoSQL-хранилища вроде MongoDB или Redis.
Читать далее Spring Framework и работа с базами данных: Spring Data JPA
Коротко о PathVariable
Один из распространённых способов передачи параметров запроса — в виде частей адреса запроса. Например, у нас есть страница с контактными данными человека, её адрес выглядит следующим образом:
http://example.com/person/contacts?personId=42
Но, если передать идентификатор человека не параметром personId, а частью адреса запроса, то получится что-то вроде
http://example.com/person/42/contacts
Что выглядит намного понятнее и удобнее.
Для работы с параметрами, передаваемыми через адрес запроса в Spring WebMVC используется аннотация @PathVariable. Читать далее Коротко о PathVariable
Стрим: простое веб-приложение на Spring Boot (завершение)
Продолжаю разработку простого веб-приложения со Spring Boot, показываю реализацию поиска и рассказываю немного о волшебных методах в Spring Data JPA.
Стрим: простое веб-приложение на Spring Boot
Запись стрима, в котором я показал на примере простой адресной книги процесс разработки веб-приложения с использованием Spring Boot, Spring Data JPA, Spring Data REST и Angular Material.
Пример веб-приложения на Spring Boot
Отвечая на вопрос «Как отобразить данные из БД» на Тостере, написал небольшое веб-приложение, использующее Spring Framework, Boot и Data и JSP/JSTL в качестве способа отображения страниц. Задача — написать простую книгу отзывов, которая может вывести список отзывов и добавить новый.
Создание Maven-проекта из архетипа в NetBeans
Что бы создать проект из maven-архетипа в NetBeans нужно открыть диалог создания нового проекта и в категории «Maven» выбрать «Project from Archetype»:
Начало разработки с Vaadin
О фреймворке Vaadin я знаю уже давно и даже начинал его изучать, но отсутствие возможности использовать его на практике не давало возможности серьёзно углубиться в это направление. Но в последнее время рекламные материалы Vaadin встречаются в сети буквально везде: в твиттере, в ютюбе и даже в рекламном баннере у меня в блоге. Так что я решил в свободное время попробовать поработать с этим фреймворком. Читать далее Начало разработки с Vaadin
Spring Framework и работа с базами данных: NamedParameterJdbcTemplate
В своём предыдущем посте я описал работу с JdbcTemplate на примере простого DAO-класса. Возможностей JdbcTemplate вполне хватает, что бы сделать работу с базами данными немного проще. Но использование вопросительного знака в качестве плейсхолдера для параметра запроса не всегда удобно, особенно, когда речь идёт о работе с таблицами, имеющими большое количество колонок. В этом случае удобнее будет использовать класс NamedParameterJdbcTemplate, который позволяет использовать именованные параметры в SQL-запросах. Читать далее Spring Framework и работа с базами данных: NamedParameterJdbcTemplate
Spring Framework и работа с базами данных: JdbcTemplate
Для работы с реляционными базами данных в Spring Framework предусмотрен такой замечательный инструмент как JdbcTemplate, который является обвязкой вокруг стандартных средств JDBC. JdbcTemplate прост и гибок в применении, его возможностей вполне достаточно для реализации проектов малых и средних размеров. В JDBCTemplate не предусмотрены стандартные средства ORM в отличии от Hibernate или JPA, так что при его использовании нужно самостоятельно писать мапперы, которые будут преобразовывать данные полученные из БД в объекты классов сущностей.
Читать далее Spring Framework и работа с базами данных: JdbcTemplate