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

Поиск:

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


Опытный
**


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

Репутация: 2
Всего: 5



Вот думаю, как лучше (или как правильно smile) организовать работу с базой в JSF приложении...
 
В sun-овских примерах предлагается использовать классы com.sun.sql.rowset.CachedRowSetXImpl и com.sun.data.provider.impl.CachedRowSetDataProvider...

Насколько я понимаю, вначале в сессии поднимается коннект, с помощью:

Код

...
        tableRowSet.setDataSourceName("java:comp/env/jdbc/TRAVEL_ApacheDerby");
        tablwRowSet.setCommand("SELECT * FROM table WHERE ITEM_ID = ?");
        tableRowSet.setTableName("TABLE");
...


, а потом на страничке инициализируется DataProvider:

Код

...
        tableDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.tableRowSet}"));
...

, который и используется на страничке.

Но, если нужно передать данные в запрос и получить результат, то рекомендуют делать это так:

Код

                getSessionBean1().getTableRowSet().setObject(1, itemId);
                tableDataProvider.refresh();


Что делать, если хочется создать DAO класс, например, dbObjectDao, который будет уметь сохранять и извлекать из базы нужные объекты.
1) Тогда этому DAO классу придется передавать при инициализации два класса: new dbObjectDao(getSessionBean1().getTableRowSet(), tableDataProvider)?

Другой вариант, насколько я понимаю, состоит в использовании класса: Connection, который нужно инициализировать в сессии:
Код

dataSource.getConnection();

2) Почему NetBeans этот вариант не использует?

Может где-нибудь подробно об этом написано?...

Это сообщение отредактировал(а) Andrey1 - 24.3.2008, 20:07


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
Andrey1
Дата 24.3.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 5



"Migrating from visualweb rowsets to standard rowsets": http://wiki.netbeans.org/RowSetMigration


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
Andrey1
Дата 24.3.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 5



Да, похоже Sun'ы просто выпендиваются... smile В книжке "Core JAVASERVER™ FACES" учат DataSource в сессии поднимать так:

Код

...
Context ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");
...


И дальше юзать:
Код

...
Connection conn = ds.getConnection();
...
PreparedStatement passwordQuery = conn.prepareStatement("SELECT password from Users WHERE username = ?");
passwordQuery.setString(1, name);
ResultSet result = passwordQuery.executeQuery();
...



--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
Andrey1
Дата 25.3.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 5



Да, и раз уж написал в заголовке "архитектура, паттерны....".... Люди, поделитесь впечатлениями от Hibernate smile ...
1) Удобность?
2) Скорость работы?
3)...


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
necromancer
Дата 25.3.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 7



Цитата

Да, и раз уж написал в заголовке "архитектура, паттерны....".... Люди, поделитесь впечатлениями от Hibernate  ...
1) Удобность?
2) Скорость работы?
3)...

1 Удобность, на уровне, хотя довольно чатсо вес равно приходится писать нативные запросы. Но мамминг объектов и извлечение это супер!
2 Так как это обертка и рефлекшин, то скорость не важнецкая! Но для веб и не реалтайм годится полностью! Опять таки массовое обновление и удаление лучше через натив!
3 Гораздо удобнее работать без подготовки статементов и прочего. Нет необходимости заботится о типах эелементов. 
Вообщем маст хэв! Но я знаю есть куча других ОРМ решений. может для твоего случая они будут лучше (например TOPLink)


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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