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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DAO + Коннект с базой 
:(
    Опции темы
Samotnik
Дата 20.11.2007, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



обьясните плз как это?  Может есть у кого статьи на русском ?...
PM MAIL   Вверх
powerOn
Дата 20.11.2007, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Можешь JDBC использовать, можешь JPA или Hibernate. Как реализуешь DAO, так и соединятся будет. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Samotnik
Дата 20.11.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



powerOn,  оки.   У меня есть  работа с БД (по модели MVC)
Это модель:
Код

public class ModelDB {
    public static ArrayList<String> errors = new ArrayList<String>();
    private static Logger log = Logger.getLogger(ModelDB.class);

    public User getUser(String userName) {
       return ExecuteSql("SELECT * FROM user WHERE FIO ='" + userName + "'", false).get(0);
    }

    public ArrayList<User> getAllUsers() {
        return ExecuteSql("SELECT * FROM user", false);
    }

    private ArrayList<User> ExecuteSql(String sql, boolean notQuery) {
        ArrayList<User> results = new ArrayList<User>();
        String _name = "Not found";
        String _loggin = "Not found";
        String _password = "Not found";
        try {
            Connection cn = null;

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            cn = DriverManager.getConnection("jdbc:odbc:db1", "dba", "sql");
            Statement st = null;

            st = cn.createStatement();
            ResultSet rs = null;

            if (!notQuery) {
                rs = st.executeQuery(sql);

                while (rs.next()) {
                    _name = rs.getString("FIO");
                    _password = rs.getString("Password");
                    _loggin = rs.getString("Loggin");
         
                    log.info("_name " + _name + " _loggin" + _loggin);
                    results.add(new User(_name, _password, _loggin));
                }
            } else {
                st.execute(sql);
            }
           if (results.size()==0) throw new MyGenericException();
        }
        catch (MyGenericException e) {
            log.info("DatabaseAcsesExeption" + e.printError());
            results.add(new User("not found","not found", "not found"));
        }
        catch (Exception e) {
            errors.add(e.getMessage());
        }

        return results;
    }
}

Как мне прикрутить это  к DAO (либо все нужно с начала писать? ) У меня получается только одно соединение с Access  v все ...
PM MAIL   Вверх
powerOn
Дата 20.11.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Ты привел как раз DAO, а не модель. Модель это то что уже загружено из БД. Впрочем, БД это тоже модель, все зависит от твоего абстрагирования.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Samotnik
Дата 20.11.2007, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



powerOn, я думаю, что  DAO  должно быть моделью.   Представлением будет .jspx страница, кот. будет показывать результат поиска,   а контроллером будет Сервлет, который непосредственно будет отдавать команды направо и налево  smile 
PM MAIL   Вверх
powerOn
Дата 20.11.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



DAO - это средство получения, обновления, удаления данных. Модель - это данные - сущности.
Вот допустим есть у тебя страничка на которой имеется список фруктов. Каждый фрукт представлен объектом Fruit и хранятся они в памяти JVM в массиве Fruit[] -- вот это модель. Что бы загрузить фрукты в память (для последующей обработки) из БД, ты уже используешь класс FruitDao, у которого есть методы Fruit[] getFruits(), updateFruit(Fruit f), delete(Fruit f), ...
Подведу итог: DAO - это источник данных, средство получения данных. Модель - это данные или хранилище данных (может быть и БД, но обычно модель - это загруженные данные).


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Tony
Дата 20.11.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



Надо добавить 4то DAO- j2ee pattern. Каторый хорошо описан на sun.com


--------------------
user posted image
user posted image
PM MAIL 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.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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