Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DAO, как их писать 
:(
    Опции темы
sith
Дата 8.2.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



подскажите как правильно... и как лутше... как нужно писать DAO менеджеры для баз данных... что это вообще такое...
...


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
AntonSaburov
Дата 8.2.2008, 16:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Обычно DAO - это объекты, которые позволяют удобно созранять и получать объекты. Если грубо:

Есть Работник, на него есть таблица в базе Worker с какими-то полями. Само собой есть класс JAVA - например WorkerClass. У него есть поля, которе соответствуют колонкам в таблице. Хочется работать именно с объектами, а не с колонками.

И для этого пишут класс, который "оборачивает" JDBC вызовы и предоставляет удобный интерфейс. Например для удаления надо просто передать ему класс Worker. Для вставки - тоже. При получении данных надо передать ему ID и получить обратно уже заполенный обхект класса Worker.

Также часто делаются методы, которые возвращают сразу коллекции обхектов - например всех Worker у которых фамилия Лебедев или еще как-то.

На сегодня есть популярная система Hibernate, которая позволяет избежать ненужных DAO. Правда бывают ситуации, когда он не помогает и делать приходится самому эти самые DAO.
PM MAIL WWW ICQ   Вверх
iluvatar
Дата 8.2.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: нет
Всего: 4



ну, я, например, для hibernate тоже пишу DAO. Это обычные классы с набором static методов. Эти методы работают с hibernate. Просто, очень удобно отделять БД от логики. Если взять это за правило, то потом очень легко контролировать все обращения к БД.
PM MAIL ICQ   Вверх
Hidrag
Дата 8.2.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 3
Всего: 25



а Java persistentc эт не оно?


--------------------
user posted image
PM WWW ICQ   Вверх
LSD
Дата 8.2.2008, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Hidrag @  8.2.2008,  18:02 Найти цитируемый пост)
а Java persistentc эт не оно?

Если ты о Java persistent API, то это некий набор интерфейсов для реализации того о чем говорил AntonSaburov. Он используется в J2EE, но может быть и использован отдельно, если позволяет реализация. Например Hibernate позволяет.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
sith
Дата 9.2.2008, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



ох... спасибо за инфу...


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
Hidrag
Дата 13.2.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 3
Всего: 25



LSD, то есть Hibernate  это внешний фрэймворк реализующий Java persistent API? а собственная реализация в JAVA есть?


--------------------
user posted image
PM WWW ICQ   Вверх
LSD
Дата 13.2.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Hidrag @  13.2.2008,  13:34 Найти цитируемый пост)
то есть Hibernate  это внешний фрэймворк реализующий Java persistent API?

Изначально Hibernate разрабатывался не для этого, но Java persistent API к нему прикрутили smile

Цитата(Hidrag @  13.2.2008,  13:34 Найти цитируемый пост)
а собственная реализация в JAVA есть? 

В J2SE - нет. В J2EE - зависит от используемого сервера, большинство имеют.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.