Java: Giới thiệu JDBC
API JDBC (Java DataBase Connectivity) là một API Java có thể truy cập bất kỳ loại bạn dữ liệu nào, đặc biết là những dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ (Relational Database).
JDBC giúp ta viết ứng dụng Java để quản lý ba hoạt động lập trình sau:
- Kết nối tới nguồn dữ liệu, giống như một cơ sở dữ liệu (database)
- Gửi các câu lệnh truy vấn và cập nhật tới database
- Truy xuất và xử lý kết quả nhận được từ kết quả truy vấn database
Đoạn mã sau đây thể hiện một ví dụ đơn giản của ba bước trên:
public void connectToAndQueryDatabase(String username,String password){ Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:myDriver:myDatabase", "username", "password"); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT a, b, c FROM Table1"); while(rs.next()){ int x=rs.getInt("a"); String s=rs.getString("b"); float f=rs.getFloat("c"); } }
Đoạn mã trên gồm một thể hiện của đối tượng DriverManager
dùng để kết nối tới một trình điều khiển cơ sở dữ liệu và đăng nhập vào cơ sở dữ liệu đó, một thể hiện của đối tượng Statement
để mang truy vấn ngôn ngữ SQL tới cơ sở dữ liệu; các thể hiện của đối tượng ResultSet
để truy xuất kết quả của truy vấn và thực thi một vòng lặp while
đơn giản trong đó truy xuất và hiển thị những kết quả khác.
Các thành phần của JDBC
JDBC bao gồm bốn thành phần:
1. API JDBC — API JDBC™ cung cấp truy cập chương trình tới các dữ liệu quan hệ từ ngôn ngữ lập trình Java™. Với API JDBC thì ứng dụng có thể thực thi các câu lệnh SQL, truy xuất các kết quả, và tiến hành những thay đổi đối với nguồn dữ liệu cơ sở. API JDBC cũng có thể tương tác với nhiều nguồn dữ liệu trong một môi trường không đồng nhất, phân tán.
API JDBC là một phần của nền tảng Java, nó bao gồm Java™ Standard Edition (Java™ SE ) và Java™ Enterprise Edition (Java™ EE). API JDBC 4.0 được chia thành hai gói:: java.sql
và javax.sql.
Cả hai gói này đều được tích hợp trong các nền tảng Java SE và Java EE.
2. Trình quản lý điều khiển JDBC — Lớp JDBC DriverManager
định nghĩa các đối tượng có thể kết nối các ứng dụng Java tới một trình điều khiển JDBC. DriverManager
thường được coi là xương sống của kiến trúc JDBC. Nó khá nhỏ và đơn giản.
Các gói mở rộng tiêu chuẩn là javax.naming
và javax.sql
giúp ta sử dụng một đối tượng DataSource
đã đăng ký với Java Naming and Directory Interface™ (JNDI) để đặt tên dịch vụ để thiết lập kết nối tới nguồn dữ liệu. Ta có thể sử dụng cơ chế kết nối, nhưng ta nên sử dụng đối tượng DataSource
khi có thể.
3. JDBC Test Suite — Trình điều khiển JDBC Test Suite sẽ giúp ta xác định các trình điều khiển JDBC sẽ chạy chương trình. Các kiểm tra này sẽ không toàn diện hay đầy đủ, nhưng chúng lại thực hiện nhiều điểm quan trọng trong API JDBC.
4. JDBC-ODBC Bridge — Java Software Bridge cung cấp truy cập JDBC thông qua trình điều khiển ODBC. Lưu ý rằng ta cần tải mã nhị phân ODBC lên mỗi máy khách để sử dụng trình điều khiển này. Kết quả là, trình điều khiển ODBC là thích hợp nhất đối với mạng công ty nơi những cài đặt client không phải là vấn đề chính, hoặc cho các mã máy chủ ứng dụng viết bằng Java trong một kiến trúc ba lớp.
Các bài viết trong phần JDBC sử dụng hai thành phần đầu tiên trong bốn thành phần của JDBC để kết nối với cơ sở dữ liệu và sau đó xây dựng một chương trình java có sử dụng câu lệnh SQL để giao tiếp với một kiểm tra cơ sở dữ liệu quan hệ. Hai thành phần sau được sử dụng trong môi trường chuyên ngành để kiểm tra các ứng dụng web, hay giao tiếp với DBMS ODBC-aware.