четверг, 25 марта 2010 г.

Настройка JDBC и MySQL











Недавно столкнулся со следующей проблемой: настройка драйвера JDBC для MySQL. JDBC - это такая хрень, позволяющая кодить на java для работы с базами данных. Перерыв n-ое количество литературы, нашел оптимальное для меня решение. И так по порядку.

Нам понадобится:
* сам MySQL. Установить и настроить его - гугл в помощь.
* коннектор с JDBC. Лежит тут (из всего, что там будет, нам понадобится один файл вида mysql-connector-java-версия-bin.jar )
* кривые руки - 2 шт.

Поехали.

Запускаем MySQL. Создаем новую БД. Например test. *.jar файл копируем в lib'ы виртуальной машины. Т.к. работаю под виндой, то кидаем это приблизительно сюда: C:\Program Files\Java\jre6\lib\ext .

Ну а теперь переходим к самому кодингу.

Для начала создадим файл database.properties.
В нем пропишем:

jdbc.drivers=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/test
jdbc.username=username
jdbc.password=password


Первая строчка указывает драйвер БД. Вторая саму БД, к которой будем обращаться. Третья и четвертая соответственно имя пользователя и пароль (заведенные в MySQL). Да, к сожалению в данном примере пароль будет лежать в открытом виде. Но для данного случая нам не столь актуально.

Теперь касательно подключения к БД в коде java. Самый удачный лично для меня пример лежит тут В архиве в папке v2ch04\TestDB (в *nix соотвественно ~\v2ch04\TestDB) в файле TestDB.java есть следующий код:

/**
* Установка соединения с использованием свойств,
* заданных в файле database.properties
* @return Соединение с базой данных
*/
public static Connection getConnection() throws SQLException, IOException {
Properties props = new Properties();
FileInputStream in = new
FileInputStream("database.properties");
props.load(in);
in.close();

String drivers = props.getProperty("jdbc.drivers");

if (drivers != null) System.setProperty("jdbc.drivers",drivers);

String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");

return DriverManager.getConnection(url,username,password);
}


Как-то так. Если что-то мне понадобиться, обращайтесь, допилю.

Комментариев нет:

Отправить комментарий