Java JDBC - Kết nối Java với MySQL

Kết nối Java với MySQL

Để kết nối Java với MySQL bằng JDBC, giả sử bạn đã tạo bảng trong MySQL, bạn cần làm theo 4 bước sau:

  1. Tải file mysql-connector-java-x.y.zz.zip về máy tại https://dev.mysql.com/downloads/connector/j/, giải nén ra được file mysql-connector-java-x.y.zz-bin.jar.
  2. Add thư viện JDBC Driver mysql-connector-java-x.y.zz-bin.jar vào project.
  3. Gọi phương thức Class.forName("com.mysql.jdbc.Driver").
  4. Gọi phương thức DriverManager.getConnection() để kết nối đến cơ sở dữ liệu MySQL.

Chi tiết về việc kết nối ứng dụng Java với cơ sở dữ liệu MySQL bằng JDBC được thể hiển trong ví dụ dưới đây.

Ví dụ về kết nối Java với MySQL

Tạo bảng 'student' trong cơ sở dữ liệu có tên 'testdb' trong MySQL với câu lệnh như sau:

CREATE TABLE student (
   id   INT              NOT NULL,
   name VARCHAR (32)     NOT NULL,
   address  VARCHAR (32) NOT NULL,
   PRIMARY KEY (id)
);

Insert vài dòng dữ liệu cho bảng 'student'

INSERT INTO student(id, name, address) VALUES (1, "Công", "Hanoi");
INSERT INTO student(id, name, address) VALUES (2, "Dung", "Vinhphuc");
INSERT INTO student(id, name, address) VALUES (3, "Ngôn", "Danang");
INSERT INTO student(id, name, address) VALUES (4, "Hạnh", "Hanoi")

Sau khi thực thi các câu lệnh trên chúng ta có được dữ liệu như sau:

Kết nối Java với MySQL

Tạo chương trình để kết nối và hiển thị dữ liệu của bảng 'student' ra màn hình như sau:

File: ConnectMysqlExample.java

package vn.viettuts.jdbc;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class ConnectMysqlExample {
    private static String DB_URL = "jdbc:mysql://localhost:3306/testdb";
    private static String USER_NAME = "root";
    private static String PASSWORD = "1234567890";
 
    /**
     * main
     * 
     * @author viettuts.vn
     * @param args
     */
    public static void main(String args[]) {
        try {
            // connnect to database 'testdb'
            Connection conn = getConnection(DB_URL, USER_NAME, PASSWORD);
            // crate statement
            Statement stmt = conn.createStatement();
            // get data from table 'student'
            ResultSet rs = stmt.executeQuery("select * from student");
            // show data
            while (rs.next()) {
                System.out.println(rs.getInt(1) + "  " + rs.getString(2) 
                        + "  " + rs.getString(3));
            }
            // close connection
            conn.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
 
 
    /**
     * create connection 
     * 
     * 
     * @param dbURL: database's url
     * @param userName: username is used to login
     * @param password: password is used to login
     * @return connection
     */
    public static Connection getConnection(String dbURL, String userName, 
            String password) {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(dbURL, userName, password);
            System.out.println("connect successfully!");
        } catch (Exception ex) {
            System.out.println("connect failure!");
            ex.printStackTrace();
        }
        return conn;
    }
}

Kết quả:

connect successfully!
1  Công  Hanoi
2  Dung  Vinhphuc
3  Ngôn  Danang
4  Hạnh  Hanoi