Обязательно ли использовать spring-data-jdbc при использовании JdbcTemplate?

Я планирую использовать Spring JdbcTemplate для доступа к моей базе данных. Обязательно ли использовать spring-data-jdbc при использовании JdbcTemplate? Причина, по которой я спрашиваю, заключается в том, что мне не нужна «сущность» (POJO) для моей таблицы в моем приложении. Если я использую spring-data-jdbc, добавятся ли накладные расходы?


person GnahzNiX    schedule 08.07.2019    source источник


Ответы (3)


Вы можете без проблем использовать JdbcTemplate без Spring Data JDBC. JdbcTemplate существовал за много лет до появления Spring Data JDBC.

Spring Data JDBC действительно требует накладных расходов. Он извлекает данные из POJO, создает запросы и преобразует результат обратно в POJO. Конечно, все это требует ресурсов. Если он вам не нужен / не приносит пользы, не используйте его.

Вы также можете начать с JdbcTemplate, а затем без проблем начать использовать Spring Data JDBC, если возникнет необходимость.

person Jens Schauder    schedule 08.07.2019
comment
Спасибо за ответ. Мне нужны советы. Мое приложение генерирует файлы CSV из базы данных через конечную точку веб-службы. Можете ли вы подумать о каких-либо преимуществах использования spring-data-jdbc? - person GnahzNiX; 08.07.2019
comment
Итак, в основном один выбор для каждого файла и выдача результата с некоторыми разделителями? По-моему, это случай чистого JdbcTemplate. - person Jens Schauder; 08.07.2019

JdbcTemplate является частью модуля spring-jdbc, поэтому вам понадобится только этот (и sprint -tx, который включает иерархию DataAccessException).

spring- data -jdbc добавляет поддержку (что неудивительно) для spring-data поверх spring -jdbc. Таким образом, вам не нужно использовать JdbcTemplate, так же как вам не нужен spring-data-jpa для использования JPA EntityManager.

person Costi Ciudatu    schedule 08.07.2019

Spring-data-jdbc реализован на основе spring-jdbc. Если вам вообще не нужна Entity, то использование spring-jdbc для прямого взаимодействия с базой данных является наиболее удобным и гибким. В этом случае использование spring-data-jdbc - это чистое увеличение затрат на обучение. Spring-data-jdbc разработан для режима DDD (Domain Driven Design), который отличается от текущей основной модели программирования. Стоимость обучения не низкая ...

person Hyman Yang    schedule 08.07.2019