Главная » Spring » Использование классов поддержки DAO Spring

0

Шаблоны доступа к данным – это только часть модуля доступа к данным в Spring. Каждый шаблон также предоставляет удобные методы, упрощающие доступ к данным, избавляя от необходимо- сти создавать явную реализацию обратного вызова. Кроме того, по- верх конструкции «шаблон/обратный вызов» Spring предоставляет классы поддержки DAO для наследования вашими собственными классами DAO. Взаимосвязи между классом шаблона, классом под- держки DAO и вашей реализацией DAO схематически изображены на рис. 6.3.

Рис. 6.3. Отношения между прикладным объектом DAO, поддержкой DAO в Spring и классами шаблонов

Далее, когда будут исследованы варианты поддержки доступа к данным в Spring, будет показано, как классы поддержки DAO обе- спечивают удобный доступ к поддерживаемым ими классам шаб- лонов. При создании прикладной реализации DAO можно создать свой класс, унаследовав в нем класс поддержки DAO, и вызвать метод получения шаблона, чтобы иметь прямой доступ к шаблону, лежащему в основе. Например, если прикладной объект DAO на- следует класс поддержки JdbcDaoSupport, чтобы получить шаблон до- ступа JdbcTemplate, достаточно просто вызвать метод getJdbcTemplate().

Плюс, если потребуется получить доступ непосредственно к фрейм- ворку обслуживания хранилища, каждый из классов поддержки DAO обеспечивает доступ к любым классам, используемым для взаимодействия с базой данных. Например, класс JdbcDaoSupport со- держит метод getConnection() для работы непосредственно с JDBC- соединением.

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

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

Таблица 6.3. Классы поддержки DAO обеспечивают удобный доступ к соответствующим шаблонам доступа к данным

Класс поддержки DAO (org.springframework.*)

Обеспечивает поддержку для…

jca.cci.support.CciDaoSupport

Соединений JCA CCI

jdbc.core.support.JdbcDaoSupport

Соединений JDBC

jdbc.core.namedparam.NamedParameterJdbcDaoSupport

Соединений JDBC, поддерживающих именованные параметры

jdbc.core.simple.SimpleJdbcDaoSupport

Соединений JDBC, поддерживающих упрощен- ные конструкции Java 5

orm.hibernate.support.HibernateDaoSupport

Сеансов Hibernate 2.x

orm.hibernate3.support.HibernateDaoSupport

Сеансов Hibernate 3.x

orm.ibatis.support.SqlMapClientDaoSupport

Клиентов iBATIS SqlMap

orm.jdo.support.JdoDaoSupport

Реализаций Java Data Object

orm.jpa.support.JpaDaoSupport

Диспетчеров сущностей Java Persistence API

Начнем с простого доступа через JDBC, так как это основной спо- соб чтения и записи данных. Далее мы рассмотрим работу с Hibernate и JPA, двумя самыми популярными ORM-решениями на базе POJO. Но обо всем по порядку – большинство вариантов поддерж- ки хранилищ, имеющихся в Spring, будут зависеть от источника

данных. Поэтому, прежде чем приступить к созданию шаблонов и объектов DAO, необходимо настроить фреймворк Spring для рабо- ты с источником данных, чтобы обеспечить доступ объектов DAO к базе данных.

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

По теме:

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