JDBC
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Select MySQL bằng Java JDBC Driver

Trong bài này bạn sẽ được học cách thực hiện truy vấn Select trong MySQL bằng cách sử dụng Java JDBC Driver. Đây là cách lấy danh sách dữ liệu table trong Java khá phổ biến.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Kết nối vào Database

Để thực hiện được truy vấn này thì hãy chắc chắn rằng bạn đã kết nối vào MySQL nhé. Nếu chưa thì hãy đọc bài kết nối MySQL bằng Java JDBC Driver.

Connection conn = DriverManager.getConnection(url,username,password);

Ở bài đó mình đã tạo một lớp kết nối tên là MySQLJDBCUtil nên ta chỉ cần gọi phương thức kết nối từ lớp này là được. Thông số kết nối nằm trong file db.properties.

Bài viết này được đăng tại [free tuts .net]

Connection conn = MySQLJDBCUtil.getConnection()

2. Tạo Statement

Sau khi kết nối xong thì hãy tạo một đối tượng Statement bằng cách sử dụng phương thức createStatement trong đối tượng conn đó.

Statement stmt  = conn.createStatement();

* Lưu ý: Khi đã tạo xong Statement thì bạn có thể thực hiện bất kì truy vấn SQL nào, không chỉ riêng gì Select.

Dưới đây là một ví dụ với lệnh Select.

String sql = "SELECT first_name, last_name, email " +
             "FROM candidates";

ResultSet rs    = stmt.executeQuery(sql)

Chúng ta đã gọi phương thức executeQuery() trong đối tượng Statement (stmt). Phương thức này có công dụng thực thi một câu truy vấn bất kì và trả kết quả về thuộc kiểu ResultSet.

ResultSet cung cấp cho bạn một số phương thức để duyệt qua từng record. Phương thức next() sẽ trả về record hiện tại và chuyển con trỏ sang record tiếp theo nếu danh sách có dữ liệu, ngược lại nó return false.

3. Lấy dữ liệu các field

Để lấy dữ liệu của các field thì tùy thuộc vào kiểu dữ liệu của field, công thức cơ bản đó là:

getDataType()

Ví dụ:

  • getString("column_name") dùng để lấy giá trị theo tên cột
  • getInt(1) dùng để lấy theo thứ tự của cột

Hãy xem ví dụ dưới đây để hiểu rõ hơn.

while (rs.next()) {
   System.out.println(rs.getString("first_name") + "\t" + 
                      rs.getString("last_name")  + "\t" +
                      rs.getString("email"));
                    
}

4. Đóng kết nối

Bạn nên thực hiện thao tác ngắt kết nối sau khi thực hiện xong truy vấn để đảm bảo an toàn nhé.

try{
   rs.close();
   stmt.close();
} catch(SQLException e) {
   System.out.println(e.getMessage());
}

Nếu bạn sử dụng khối lệnh try-with-resource thì nó sẽ tự động ngắt kết nối, bạn sẽ không phải lam gì cả.

Dưới đây là file tổng kết những gì mà mình đã giải thích ở trên, bằng cách sử dụng database mẫu.

package org.mysqltutorial;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author mysqltutorial.org
 */
public class Main {
    
    public static void main(String[] args) { 
        // 
        String sql = "SELECT first_name, last_name, email " +
                     "FROM candidates";
        
        try (Connection conn = MySQLJDBCUtil.getConnection();
             Statement stmt  = conn.createStatement();
             ResultSet rs    = stmt.executeQuery(sql)) {
           
            // loop through the result set
            while (rs.next()) {
                System.out.println(rs.getString("first_name") + "\t" + 
                                   rs.getString("last_name")  + "\t" +
                                   rs.getString("email"));
                    
            }
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        }
    }
}

Kết quả như sau:

mysql jdbc query data jpg

Như vậy là mình đã hướng dẫn xong cách truy vấn Select MySQL bằng cách sử dụng Java JDBC Driver. Đây là kiến thức khá cơ bản và là tiền đề để bạn tự viết ra những thư viện tốt hơn.

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top