Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как правильно из приложения Java подключиться к MySQL серверу

26K
20 марта 2007 года
nickstarnew
6 / / 19.03.2007
ЛЕНЬ, ДВИГАТЕЛЬ ПРОГРЕССА!!!
Подскажите пожалуйста как правильно из Java подключиться к серверу MySQL, используя синтаксис SQL выбирать данные и осуществлять навигацию по ним в прямом и обратном направлении задавая количество возвращаемых записей (например первые 20-ть, затем следующие 20-ть, с 100-го по 200-й. Это необходимо для порционного отображения в HTML используя JSP.
Заранее благодарен.
240
20 марта 2007 года
aks
2.5K / / 14.07.2006
Скачать mysql JDBC драйвер с сайта производителя (при желании спрость драйвер у меня =)))
Создать JDBC подключение к базе исспользуя этот драйвер.
Юзать )
26K
20 марта 2007 года
nickstarnew
6 / / 19.03.2007
Я ведь, не зря сказал, что ЛЕНЬ ДВИГАТЕЛЬ ПРОГРЕССА, мне бы код Java-вский получить!!!
240
20 марта 2007 года
aks
2.5K / / 14.07.2006
Мля, ну в любом же мануале по JDBC есть ))
Код:
try {
    Class.forName(driverName).newInstance();
} catch (Exception e) {
            // не нашел класс драйвера
}
try{
            Connection conn = = DriverManager.getConnection(dbUrl);
            Statement stat = conn.createStatement();
            ResultSet res = stat.executeQuery("some sql query");            
            while(res.next()){
                     //извлечение результатов запроса из res
            }
catch(SQLException e){
}

driverName - имя mysql JDBC драйвера. Например: "com.mysql.jdbc.Driver"
dbUrl - URL до базы. можно сразу с логином и паролем типа: "jdbc:mysql://10.10.10.10:3306/dbname?user=root&password=superman"
Хотя логин и пароль можно вторым и третим параметром в getConnection передавать.
26K
20 марта 2007 года
nickstarnew
6 / / 19.03.2007
Отлично,
но как мне теперь избавиться от RecordSet, т.е. закрыть подключение и продолжить работать с записями.
Идея такова:
Например по функции SELECT
1. Приложение на JSP формирует строку SQL и отправляет его приложению на Java
2. Приложение Java получив строку SQL открывает соединение с сервером и формирует RecordSet по строке SQL
3. Затем Приложение Java формирует массив данных из RecordSet, закрывает соединение и передает сформированный массив приложению JSP
4. Приложение на JSP получает массив данных и осуществляет навигацию по нему и выбор действий пользователя

С подключением Я все понял, а как лучше мне избавиться от RecordSet???
240
20 марта 2007 года
aks
2.5K / / 14.07.2006
Цитата: nickstarnew
Отлично,
но как мне теперь избавиться от RecordSet, т.е. закрыть подключение и продолжить работать с записями.


Под RecordSet я так понимаю имеется ввиду ResultSet?

Цитата: nickstarnew

Идея такова:
Например по функции SELECT
1. Приложение на JSP формирует строку SQL и отправляет его приложению на Java


Так JSP - тоже выполняется на JAVA )

Цитата: nickstarnew

2. Приложение Java получив строку SQL открывает соединение с сервером и формирует RecordSet по строке SQL


Формирует ResultSet.

Цитата: nickstarnew

3. Затем Приложение Java формирует массив данных из RecordSet, закрывает соединение и передает сформированный массив приложению JSP


Да потом тупо в цикле перебираются все строки которые вернул запрос ( while(res.next())) и из res извлекаются поля из запроса. Извлекать можно куда угодно, можно никакой промежуточный массив не формировать, а сразу ResultSet и послать. Но это уже дело конкретной реализации - я не знаю как там все. )


Цитата: nickstarnew

С подключением Я все понял, а как лучше мне избавиться от RecordSet???


А зачем от него избавляться? Это же не C++ ) Из него выжали всю нужную информацию, а дельше его garbage collector сам удалит, когда перестанут его исспользовать.

26K
20 марта 2007 года
nickstarnew
6 / / 19.03.2007
Все сказано правильно, но у меня опять просьба НУЖЕН КОД!!!
240
20 марта 2007 года
aks
2.5K / / 14.07.2006
Я уже привел код. Что не так?
26K
20 марта 2007 года
nickstarnew
6 / / 19.03.2007
Переброски в массив???
240
20 марта 2007 года
aks
2.5K / / 14.07.2006
мляхо, откуда я знаю какие данные хранятся в массиве и каким образом и какие поля в таблице? ))
6.6K
20 марта 2007 года
Aoli
185 / / 22.01.2007
aks, расслабься. Человеку просто нужен код, а не подсказка.
Все что он хочет: чтобы кто-нибудь все написал.

nickstarnew: попробуй немного почитать. в любой книжке есть примеры по подключению к БД.
За тебя код писать никто не будет.
Раздел для страждущих вот: http://forum.codenet.ru/forumdisplay.php?f=27
26K
20 марта 2007 года
nickstarnew
6 / / 19.03.2007
Вот, вот
нужно, что бы метод сам определял количество и наименование полей:)
Вот ведь, в чем заморочка!!!!
240
20 марта 2007 года
aks
2.5K / / 14.07.2006
Цитата: Aoli
aks, расслабься. Человеку просто нужен код, а не подсказка.



Я пока и не напрягался )

28K
05 апреля 2007 года
paynd
1 / / 04.04.2007
Господа, а как вы подключаете драйвер (в смысле прописываете в CLASSPATH)? Пожалуйста напишите подробно, по пунктам. Куда распаковывали архив драйвера, где у вас стоит JDK. Второй день прыгаю с бубном вокруг CLASSPATH и вроде все правильно делаю , но не работает нифига! :confused:
6.6K
06 апреля 2007 года
Aoli
185 / / 22.01.2007
Положи MySqlConnector....jar, скажем, на диск C:\

Тогда при запуске программы пропишешь в CLASSPATH:
C:\MySQLConnector....jar

усе.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог