01 января 2008

Подключение к MySQL с помощью Jdbc

Для начала рассмотрим список того что нам надо:
1. MySQL сервер, причём он должен быть запущен.
2. JDBC connector для MySQL, можно скачать с оффициального сайта MySQL (dev.mysql.com ).
3. Собственно java sdk.

Итак, Вы скачали всё необходимое, приступаем к работе.
Мы не будем рассматривать процесс установки и настройки MySQL сервера, но для дальнейшей работы нам необходимо что - бы:
- MySQL сервер был запущен;
- сущестовал пользователь root без пароля (настройки по умолчанию);
- существовала база данных test.

Допустим всё указанное выполено, и переходим к настройкам jdbc. Сначала разархивируйте mysql драйвер например в каталог: "c:\mysql- JDBC-3.0.17\". (Во время написания статьи была именно эта (3.0.17) версия jdbc драйвера, у Вас может быть более новая.)
В корне архива лежит файл: "c:\mysql-JDBC-3.0.17\mysql-connector
-java-3.0.17-ga-bin.jar" , дальнейшая работа будет производиться именно с ним.

Создадим тестовый пример:

/* файл Connect.java */
import java.io.*;
import java.sql.*;
public class Connect
{
public static void main (String[] args)
{
Connection conn = null;
try
{
String userName = "root";
String password = "";
String url = "jdbc:mysql://localhost/test";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
System.out.println ("Database connection established");
}
catch (Exception e)
{
System.err.println ("Cannot connect to database server");
e.printStackTrace();
}
finally
{
if (conn != null)
{
try
{
conn.close ();
System.out.println ("Database connection terminated");
}
catch (Exception e) { }
}
}
}
}
/*конец файла*/


Немного объяснений.

String userName = "root";

String password = "";

имя пользователя в СУБД MySQL и его пароль. Этого пользователя создавать не надо, он существует в MySQL при установке.

String url = "jdbc:mysql://localhost/test";


Строка, подключения к бд, тут указывается что у нас локальный сервер MySQL (localhost) и база данных называется test.

Class.forName ("com.mysql.jdbc.Driver").newInstance ();


Инициализация драйвера jdbc для работы с MySQL.
В функию соеденения с бд getConnection() мы передаём все эти 3 параметра, и подключаемся к БД.
Замечание. Можно было не использовать отдельно имя пользователя и пароль, а создать строку подключение к БД следующего характера:

String url = "jdbc:mysql://localhost/[DB_Name]?user=[UserName]&password=[Password]";


Тогда функция соеденения с БД getConnection получала только один параметр, строку подключения.

conn.close ();


После завершения работы отключаемся от БД.

Замечание! Это всего лишь тестовый пример для того, что-бы научится подключать jdbc, в дальнейшем рекомендуется создать отдельный класс или покрайне мере функцию, которая будет получать как параметр настройки соеденения, и возвращать экземпляр класса Connection.

Компилируем и запускаем.

Не забываем, что для запуска необходимо подключить библиотеку mysql-connector-java-[version]-ga-bin.jar, или прописать её в переменную classpath, если вы не используете IDE.

2 комментария:

ALEX_KS комментирует...

Thanx. But please, disable this trrible music.

Максим Буряк комментирует...

Какой проект нужно создать в среде?Java-приложение или Веб-приложение?