![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| sith |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
подскажите как правильно... и как лутше... как нужно писать DAO менеджеры для баз данных... что это вообще такое...
... -------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Обычно DAO - это объекты, которые позволяют удобно созранять и получать объекты. Если грубо:
Есть Работник, на него есть таблица в базе Worker с какими-то полями. Само собой есть класс JAVA - например WorkerClass. У него есть поля, которе соответствуют колонкам в таблице. Хочется работать именно с объектами, а не с колонками. И для этого пишут класс, который "оборачивает" JDBC вызовы и предоставляет удобный интерфейс. Например для удаления надо просто передать ему класс Worker. Для вставки - тоже. При получении данных надо передать ему ID и получить обратно уже заполенный обхект класса Worker. Также часто делаются методы, которые возвращают сразу коллекции обхектов - например всех Worker у которых фамилия Лебедев или еще как-то. На сегодня есть популярная система Hibernate, которая позволяет избежать ненужных DAO. Правда бывают ситуации, когда он не помогает и делать приходится самому эти самые DAO. |
|||
|
||||
| iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: нет Всего: 4 |
ну, я, например, для hibernate тоже пишу DAO. Это обычные классы с набором static методов. Эти методы работают с hibernate. Просто, очень удобно отделять БД от логики. Если взять это за правило, то потом очень легко контролировать все обращения к БД.
|
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 3 Всего: 25 |
а Java persistentc эт не оно?
-------------------- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Если ты о 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. |
|||
|
||||
| sith |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
ох... спасибо за инфу...
-------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 3 Всего: 25 |
LSD, то есть Hibernate это внешний фрэймворк реализующий Java persistent API? а собственная реализация в JAVA есть?
-------------------- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Изначально Hibernate разрабатывался не для этого, но Java persistent API к нему прикрутили В 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. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |