Spring JDBC, REST и Kotlin: ResultSetExtractor

  Рет қаралды 426

devmark_ru

devmark_ru

Күн бұрын

#spring #jdbc #rest #kotlin Это седьмая серия о создании restful сервиса на Kotlin c использованием Spring JDBC. В качестве примера мы разрабатываем информационную систему транспортной компании. Рассмотрим ResultSetExtractor, как более низкоуровневую альтернативу обычному rowMapper. Экстрактор позволяет работать с результатами выборки из БД как с единым целым, реализуя паттерн итератор. Поэтому в качестве результата мы можем возвращать не только список, но и любую другую более подходящую структуру данных.
Пример проекта доступен на гитхабе github.com/dev...

Пікірлер: 11
@valeriyemelyanov9090
@valeriyemelyanov9090 2 жыл бұрын
Полезный + интересный материал!
@ОБЗОРЩИК-к7ж
@ОБЗОРЩИК-к7ж 2 жыл бұрын
Круто!
@valeriyemelyanov9090
@valeriyemelyanov9090 2 жыл бұрын
Сделали изменение таблиц. А модель? И по цепочке тянутся изменения других методов ...
@devmark
@devmark 2 жыл бұрын
Верно. Рабочий пример можно посмотреть на гитхабе.
@azatgalyautdinov3548
@azatgalyautdinov3548 Жыл бұрын
вместо кастомного роумаппера DataClassRowMapper юзать можно
@devmark
@devmark Жыл бұрын
Да, можно юзать что-то вроде DataClassRowMapper(Cargo::class.java) - так будет меньше кода написано. Но есть риск, что потом в процессе рефакторинга кто-то переименует поле в классе Cargo, компилятор об этом ничего не скажет, а мы получим ошибку только в момент выполнения запроса. Но для быстрого создания прототипов DataClassRowMapper безусловно хорош.
@azatgalyautdinov3548
@azatgalyautdinov3548 Жыл бұрын
@@devmark есть такой момент, но можно (лучше) также переименовать поле в таблице либо добавить алиас для поля в запросе
@azatgalyautdinov3548
@azatgalyautdinov3548 Жыл бұрын
Не проще ли queryForMap?
@devmark
@devmark Жыл бұрын
queryForMap в данном случае не подходит, т.к. он выдаёт Map, а мне нужен Map. К тому же я хотел показать более общий подход с ResultSetExtractor, где можно выбрать ту реализацию интерфейса Map, которая лучше подходит для данного конкретного запроса.
@azatgalyautdinov3548
@azatgalyautdinov3548 Жыл бұрын
@@devmark queryForMap по моему тут самый раз, просто нужно будет привести к типу инт, например as Int
@dmitryv.4978
@dmitryv.4978 2 жыл бұрын
Отлично, спасибо! Музыку уберите плз.
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 98 МЛН
Hibernate & JPA Tutorial - Crash Course
24:27
Marco Codes
Рет қаралды 104 М.
Как Linux рисует окна?
48:46
Студенческие клубы разработки КНиИТ СГУ
Рет қаралды 13 М.
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 840 М.
JAVA SPRING JDBC: CRUD БЕЗ ORM
21:19
Джавист
Рет қаралды 6 М.
Kafka Tutorial - Spring Boot Microservices
51:29
Amigoscode
Рет қаралды 428 М.
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 98 МЛН