Главная » Spring » Источник данных JDBC Spring

0

Простейшие источники данных, которые только можно настроить в Spring, – это те, что определены с использованием драйвера JDBC. Spring предлагает на выбор два класса таких источников данных (оба  в  пакете  org.springframework.jdbc.datasource).

# DriverManagerDataSource   –  каждый  раз,  когда  запрашивает-

ся соединение, возвращает новое соединение. В отличие от BasicDataSource в DBCP, соединения, предоставляемые Driver- ManagerDataSource, не объединяются в пул.

# SingleConnectionDataSource  – каждый раз, когда запрашивает-

ся соединение, возвращает одно и то же соединение. Хотя SingleConnectionDataSource и не является пулом в полном смысле этого слова, тем не менее его можно воспринимать как источ- ник данных с пулом, содержащим единственное соединение.

Настройка любого из этих источников данных напоминает на- стройку BasicDataSource в DBCP:

<bean id="dataSource" class="org.springframework.jdbc.datasource.

DriverManagerDataSource">

<property   name="driverClassName"

value="org.hsqldb.jdbcDriver"  />

<property  name="url"

value="jdbc:hsqldb:hsql://localhost/spitter/spitter"   />

<property name="username" value="sa" />

<property name="password" value="" />

</bean>

Разница лишь в том, что поскольку ни DriverManagerDataSource, ни SingleConnectionDataSource не предоставляют пулов соединений, в них нет свойств настройки пула.

Классы SingleConnectionDataSource и DriverManagerDataSource пре- красно подходят для небольших приложений и для использования в процессе разработки, тем не менее следует серьезно рассматривать последствия использования любого из них в действующем приложе- нии. Поскольку класс SingleConnectionDataSource имеет одно и только одно соединение для работы с базой данных, он плохо подходит для использования в многопоточных приложениях. В то же время, не- смотря на то что класс DriverManagerDataSource способен поддерживать несколько потоков, при каждом запросе на соединение он несет по-

тери производительности на создание этого соединения. Из-за этих ограничений я настоятельно рекомендую использовать в качестве источников данных пулы соединений.

Теперь, когда мы установили соединение с базой данных через

источник данных, можно приступать к фактической работе с базой данных. Как уже упоминалось, фреймворк Spring предлагает не- сколько вариантов выполнения операций с базами данных, вклю- чая JDBC, Hibernate и Java Persistence API (JPA). В следующем разделе рассматривается порядок создания уровня доступа к дан- ным в приложениях на основе Spring с использованием поддержки JDBC, предлагаемой фреймворком. Но если вас больше интересует использование Hibernate или JPA, тогда вы можете сразу перейти к разделу 6.4 или 6.5 соответственно.

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии