Как подключиться к базе данных MySQL с помощью Java

Как подключиться к базе данных MySQL с помощью Java

Java предоставляет JDBC (возможность подключения к базе данных Java) как часть Java SDK (Software Development Kit). Используя это ОГОНЬ , очень легко подключиться к реляционной базе данных и выполнять общие операции, такие как запросы, вставка, обновление и удаление записей.





Хотя основной JDBC API включен в java, для подключения к конкретной базе данных, такой как MySQL или SQL Server, требуется дополнительный компонент, известный как драйвер базы данных. Этот драйвер базы данных представляет собой программный компонент, который переводит основные вызовы JDBC в формат, понятный этой базе данных.





как улучшить работу игр на ноутбуке

В этой статье давайте рассмотрим детали подключения к базе данных MySQL и то, как выполнить с ней несколько запросов.





Драйвер базы данных MySQL

Как объяснялось выше, для подключения к базе данных MySQL вам понадобится драйвер JDBC для MySQL. Это называется драйвером Connector / J и может быть загружен с сайт MySQL здесь.

После загрузки файла ZIP (или TAR.GZ) распакуйте архив и скопируйте файл JAR. mysql-коннектор-java - bin.jar в подходящее место. Этот файл необходим для запуска любого кода, использующего драйвер MySQL JDBC.



Создание образца базы данных

Предполагая, что вы загрузили базу данных MySQL и настроить это правильно там, где у вас есть к ней доступ, давайте создадим образец базы данных, чтобы мы могли использовать ее для подключения и выполнения запросов.

Подключитесь к базе данных с помощью клиента по вашему выбору и выполните следующие инструкции, чтобы создать образец базы данных.





create database sample;

Нам также нужны имя пользователя и пароль, чтобы иметь возможность подключиться к базе данных (если вы не хотите подключиться как администратор, что обычно является плохой идеей).

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





create user 'testuser'@'localhost' identified by 'securepwd';

Если вы подключаетесь к базе данных, запущенной на другом компьютере (с именем удаленный ) вам необходимо использовать следующие ( удаленный может быть именем хоста или IP-адресом):

create user 'testuser'@'remotemc' identified by 'securepwd';

Теперь, когда имя пользователя и пароль созданы, нам нужно предоставить доступ к образцу базы данных, созданному ранее.

grant all on sample.* to 'testuser'@'localhost';

Или, если база данных удаленная:

grant all on sample.* to 'testuser'@'remotemc';

Теперь вы должны убедиться, что можете подключиться к базе данных как пользователь, которого вы только что создали с тем же паролем. Вы также можете выполнить следующие команды после подключения, чтобы убедиться, что все разрешения верны.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Настроить путь к классу Java

Давайте теперь подробно рассмотрим, как подключиться к MySQL из Java. Первый шаг - загрузить драйвер базы данных. Это делается путем вызова следующего в подходящем месте.

как отправить файлы на другой компьютер
Class.forName('com.mysql.jdbc.Driver');

Код может вызвать исключение, поэтому вы можете его поймать, если собираетесь с ним справиться (например, форматирование сообщения об ошибке для графического интерфейса пользователя).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Очень часто этот код вызывается в статическом блоке класса, поэтому программа немедленно завершается ошибкой, если драйвер не может быть загружен.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

Конечно, чтобы найти драйвер, программа должна быть вызвана с драйвером JAR (загруженным и извлеченным выше), включенным в путь к классам, как показано ниже.

java -cp mysql-connector-java - bin.jar: ...

Подключение к MySQL с Java

Теперь, когда мы разобрались с деталями загрузки драйвера MySQL из java, давайте подключимся к базе данных. Один из способов создать соединение с базой данных - использовать DriverManager .

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

И что это за jdbcUrl ? Он указывает детали соединения, включая сервер, на котором расположена база данных, имя пользователя и так далее. Вот образец URL для нашего примера.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

Обратите внимание, что мы включили все параметры, необходимые для подключения, включая имя хоста ( localhost ), имя пользователя и пароль. (Включение такого пароля НЕ является хорошей практикой, альтернативы см. Ниже.)

Используя это jdbcUrl , вот полная программа для проверки возможности подключения.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

Обратите внимание, что соединение с базой данных является ценным ресурсом в программе и должно быть закрыто должным образом, как указано выше. Однако приведенный выше код не закрывает соединение в случае исключения. Чтобы закрыть соединение при нормальном или аварийном выходе, используйте следующий шаблон:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

Как отмечалось выше, вставлять пароль в URL-адрес JDBC - плохая идея. Чтобы указать имя пользователя и пароль напрямую, вы можете использовать следующий вариант подключения.

действие не может быть завершено, потому что файл открыт в системе Windows 10
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Запросы к базе данных из Java

Теперь, когда соединение с базой данных установлено, давайте посмотрим, как выполнить запрос, например запрос версии базы данных:

select version();

Запрос выполняется в java следующим образом. А Заявление создается объект и выполняется запрос с использованием executeQuery () метод, который возвращает ResultSet .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Распечатать версию из ResultSet следующее. 1 относится к индексу столбца в результатах, начиная с 1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

После обработки результатов объекты нужно закрыть.

rset.close();
stmt.close();

И это охватывает все, что нужно для подключения к MySQL из java и выполнения простого запроса.

Также ознакомьтесь с нашими Памятка по командам SQL .

Делиться Делиться Твитнуть Эл. адрес Можно ли установить Windows 11 на несовместимый компьютер?

Теперь вы можете установить Windows 11 на старые ПК с официальным файлом ISO ... но стоит ли это делать?

Читать далее
Похожие темы
  • Программирование
  • Джава
  • SQL
Об авторе Джей Шридхар(Опубликовано 17 статей) Ещё от Jay Sridhar

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться