Java và MySQL – Kết nối với cơ sở dữ liệu

Để kết nối Java với MySQL, ta cần sử dụng JDBC (Java Database Connectivity). JDBC là một API (Application Programming Interface) cung cấp các đối tượng và phương thức để kết nối với các cơ sở dữ liệu quan hệ, bao gồm cả MySQL.

Thư viện JDBC: Link tải

Mô hình dữ liệu: Link tải

Bước 1: Tải và cài đặt JDBC driver cho MySQL. Có thể tải JDBC driver tại trang chủ của MySQL hoặc sử dụng các công cụ quản lý thư viện phổ biến như Maven hoặc Gradle.

Bước 2: Import các class của JDBC vào chương trình Java của bạn:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

Bước 3: Kết nối với cơ sở dữ liệu MySQL bằng cách tạo đối tượng Connection:

// Tên cơ sở dữ liệu
String databaseName = "mydatabase";
// Tên người dùng
String username = "myusername";
// Mật khẩu
String password = "mypassword";

// Tạo URL cho kết nối đến cơ sở dữ liệu MySQL
String url = "jdbc:mysql://localhost/" + databaseName;

// Tạo đối tượng Connection
Connection connection = DriverManager.getConnection(url, username, password);

Bước 4: Sử dụng các đối tượng của JDBC để thao tác với cơ sở dữ liệu MySQL, bao gồm PreparedStatement, Statement và ResultSet.

// Tạo PreparedStatement để thực thi câu truy vấn SELECT
PreparedStatement statement = connection.prepareStatement("SELECT * FROM mytable");

// Thực thi câu truy vấn và lấy ResultSet
ResultSet resultSet = statement.executeQuery();

// Duyệt qua các bản ghi của ResultSet
while (resultSet.next()) {
    String column1 = resultSet.getString("column1");
    int column2 = resultSet.getInt("column2");
    // ...
}

// Đóng kết nối
resultSet.close();
statement.close();
connection.close();

Lưu ý: Khi sử dụng JDBC để kết nối và thao tác với cơ sở dữ liệu, ta cần xử lý các exception như SQLException để đảm bảo ứng dụng Java của bạn chạy một cách ổn định và đáng tin cậy.

Ví dụ:

 try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            return DriverManager.getConnection(Constants.DB_URL, Constants.USER, Constants.PASS);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;