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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQl запрос без реконнекта, гуглил гуглил и нивкакую... 
:(
    Опции темы
Clayman
  Дата 12.7.2010, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Было или нет незнаю, не нашёл..

Вобщем походу никто не задавался вопросом возможно ли сделать запрос в мускуль без реконекта.

Код

public void connect(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection connection=DriverManager.getConnection("jdbc:mysql://192.168.1.1:8080/test", "root", "1");
            System.out.println("connected to SQL...");
            Statement st=connection.createStatement();
            ResultSet rs=st.executeQuery(query);
            while (rs.next()){
                System.out.println(rs.getString("id"));
            }
        }
        catch (Exception e){
        System.out.println("error in SQL - "+e);
        }
    }


смысл в чем, получается что каждый раз как нужно что-то с базой сделать нужно делать метод коннект, так вот можно ли каким-то образом "обойти" этот метод и сделать запрос из другой функции (или класса). попытки через сессию не прошли и просто если делать проверку на наличие коннекта то тоже не получалось при этом оно выдаёт (в разных попытках) такой текст - java.lang.Nullpointerexception, а подразумевается что (в даном примере) будет вылазить мускуль исключение типа нельзя пустой запрос сделать.
Так вот как сделать возможность делать запросы подключившись один раз и при этом из разных функций (классов).

кстати используя при этом jsp, mysql (без hibernate, velocity). вопрос интересует имеено в этих ветках.

Это сообщение отредактировал(а) Clayman - 12.7.2010, 13:57
PM MAIL   Вверх
eros2
Дата 12.7.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Мда. Пограммировать надо ведь уметь!
PM MAIL WWW   Вверх
Clayman
Дата 12.7.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(eros2 @ 12.7.2010,  13:59)
Мда. Пограммировать надо ведь уметь!

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Надо пользоваться стандартными средствами из поставки J2EE, 
или задавать тогда уже вопросы в разделе Java.
А так вообще надо смотреть в сторону такого ЕЕ-шного понятия как DataSource...


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
eros2
Дата 12.7.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Странный вопрос очень.

В JSP источник данных получаем по JNDI или через DI.


В обычной программе что мешает сохранить connection в переменной?


Примеры какие-нибудь посмотрите, чтоли.
PM MAIL WWW   Вверх
Clayman
Дата 12.7.2010, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



пример приведу (чего я хочу добиться)
три класса (или один класс в котором три функции):
1 класс (или функция) - коннект к базе.
2 класс (или функция) - вывод таблички №1. (без реконекта)
3 класс (или функция) - ввод в табличку каких-то значений. (тут тоже без реконекта)

примеров я таких не находил.
пытался в сессию параметр создавать (обьявляя в классе Коннекшн коннекшн; но тут толку нету ибо нулевое значение..) со значением конекшн, создаёт и проверяет но Statement ссылается на коннекшн который нулевой.. несмотря на то что подключился)..
PM MAIL   Вверх
Clayman
Дата 12.7.2010, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



здаётся мне что я решил вопрос...
при создании коннекта я делаю в сессии новую переменную объектом коннекшн:
Код

session.setAttribute("connection", connection);

и потом просто когда делаю запрос то же всё обьявляю заново только коннекшн немного по другому:
Код

connection = (Connection) session.getAttribute("connection");


может где-то что-то туплю, поправьте...
PM MAIL   Вверх
eros2
Дата 12.7.2010, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Clayman @ 12.7.2010,  16:25)
здаётся мне что я решил вопрос...
при создании коннекта я делаю в сессии новую переменную объектом коннекшн:
Код

session.setAttribute("connection", connection);

и потом просто когда делаю запрос то же всё обьявляю заново только коннекшн немного по другому:
Код

connection = (Connection) session.getAttribute("connection");


может где-то что-то туплю, поправьте...

Жесть.
Точнее, писец.

А почему бы всё таки не почитать книгу какую по JSP, чтоб узнать как правильно делать, а?
PM MAIL WWW   Вверх
AntonSaburov
Дата 12.7.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


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

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



Посмотри раздел JNDI - там рассказано, как этим пользоваться для коннекта к базе.
Простое WEB-приложение
PM MAIL WWW ICQ   Вверх
ki6opr
Дата 13.7.2010, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(eros2 @ 12.7.2010,  16:37)
Цитата(Clayman @ 12.7.2010,  16:25)
здаётся мне что я решил вопрос...
при создании коннекта я делаю в сессии новую переменную объектом коннекшн:
Код

session.setAttribute("connection", connection);

и потом просто когда делаю запрос то же всё обьявляю заново только коннекшн немного по другому:
Код

connection = (Connection) session.getAttribute("connection");


может где-то что-то туплю, поправьте...

Жесть.
Точнее, писец.

А почему бы всё таки не почитать книгу какую по JSP, чтоб узнать как правильно делать, а?

с ThreadLocal (connection per request) подход знаю, но вот в пользовательскую сессию это что то новенькое smile
PM MAIL ICQ   Вверх
eros2
Дата 13.7.2010, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(ki6opr @ 13.7.2010,  07:23)
с ThreadLocal (connection per request) подход знаю, но вот в пользовательскую сессию это что то новенькое smile

Были попытки запихнуть в сессию пользовательскую транзакцию, дабы она распространялась на несколько запросов.))
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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