MySQL Connector Java
MySQL Connector/J — это удобная библиотека для работы с СУБД MySQL из языка программирования Java. Она позволяет устанавливать соединение с сервером MySQL, передавать SQL-запросы и получать результаты их выполнения.
Для начала работы с MySQL Connector/J необходимо добавить его в проект. Это можно сделать с помощью maven или скачав jar-файл и добавив его в classpath проекта.
Далее, для подключения к серверу необходимо создать объект Connection с помощью метода DriverManager.getConnection(). В параметры метода необходимо передать URL, имя пользователя и пароль от базы данных.
Пример создания объекта Connection:
java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnection {
public static void main(String[] args) {
try {
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "user", "password");
System.out.println("Connected to database!");
} catch (SQLException e) {
System.out.println("Connection failed!");
e.printStackTrace();
}
}
}
После установления соединения можно передавать SQL-запросы на выполнение. Для этого необходимо создать объект Statement, PreparedStatement или CallableStatement, в зависимости от типа запроса.
Пример выполнения SQL-запроса с помощью объекта Statement:
java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLStatement {
public static void main(String[] args) {
try {
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "user", "password");
Statement statement = connection.createStatement();
String sql = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String email = resultSet.getString("email");
System.out.println("id: " + id + ", name: " + name + ", email: " + email);
}
resultSet.close();
statement.close();
connection.close();
} catch (SQLException e) {
System.out.println("Connection failed!");
e.printStackTrace();
}
}
}
Для запросов с параметрами лучше использовать объект PreparedStatement, который позволяет передавать параметры безопасным образом, избегая SQL-инъекций.
Пример выполнения SQL-запроса с помощью объекта PreparedStatement:
java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySQLPreparedStatement {
public static void main(String[] args) {
try {
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "user", "password");
String sql = "SELECT * FROM users WHERE name = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, "John");
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String email = resultSet.getString("email");
System.out.println("id: " + id + ", name: " + name + ", email: " + email);
}
resultSet.close();
preparedStatement.close();
connection.close();
} catch (SQLException e) {
System.out.println("Connection failed!");
e.printStackTrace();
}
}
}
MySQL Connector/J также позволяет работать с транзакциями, получать метаданные таблиц и другие функции. Подробную документацию можно найти на официальном сайте MySQL.