Tổng quan về JDBC
Back To Blogs1. JDBC là gì?
JDBC là viết tắt của Java Database Connectivity, là một java API chuẩn để kết nối giữa ngôn ngữ lập trình java và các cơ sở dữ liệu như MYSQL. JBDC được dùng với mục đích quản lý việc kết nối các dữ liệu, thực thi các câu lệnh SQL xuống database và xử lý các tập kết quả dữ liệu thu được từ database đó. Ngoài ra, JDBC cũng cho phép người dùng có thể thực hiện các thao tác truy xuất, update các dữ liệu với cơ sở dữ liệu thông qua việc sử dụng các câu lệnh SQL.
JDBC được phát hành tương tự như một phần của JKD vào năm 1997 nên nó được xem là một trong những thành phần đầu tiên góp phần vào sự phát triển của lớp bền vững Java.
JDBC API sẽ sử dụng JDBC driver để làm việc với cơ sở dữ liệu bao gồm bốn loại:
- JDBC-ODBC Bridge Driver (Trình điều khiển cầu JDBC-ODBC): sử dụng ODBC driver để kết nối tới cơ sở dữ liệu. JDBC-ODBC bridge driver chuyển đổi các lời gọi phương thức JDBC thành các lời gọi hàm trong ODBC. Trong giai đoạn đầu khi Java mới xuất hiện thì kiểu driver này khá là hữu ích, bởi vì hầu hết cơ sở dữ liệu chỉ hỗ trợ truy cập ODBC. Nhưng hiện nay, kiểu driver này chỉ còn được sử dụng trong các thí nghiệm.
- Native Driver (Trình điều khiển Native): sử dụng các thư viện Client-side của cơ sở dữ liệu. Driver này chuyển đổi các lời gọi phương thức JDBC thành các lời gọi Native C/C++ API. Nó không được viết bằng Java.
- Network Protocol Driver (Trình điều khiển giao thức mạng): sử dụng một Middleware để chuyển đổi các lời gọi JDBC một cách trực tiếp hoặc gián tiếp thành Database Protocol. Driver này hoàn toàn được viết bằng Java.
- Thin Driver (Trình điều khiển mỏng): chuyển đổi trực tiếp các lời gọi JDBC thành Database Protocol. Kiểu driver này được viết hoàn toàn bằng Java. Nó thực sự linh động, bạn không cần cài đặt phần mềm đặc biệt trên Client hoặc Server.

2. Các thành phần của JDBC
- Driver Manager: là class chịu trách nhiệm cho việc quản lý danh sách của các cơ sở dữ liệu driver đồng thời tạo ra những kết nối tương ứng đến database cụ thể được JDBC chỉ định.
- Driver: là interface chịu trách nhiệm cho việc xử lý mọi hoạt động giao tiếp giữa ứng dụng và database.
- Connection: là interface có khả năng cung cấp cho người dùng tất cả các hàm phục vụ cho việc thao tác với database.
- Statement, CallableStatement, PreparedStatement: là interface sẽ tạo ra các object mà người dùng có thể ứng dụng để thực thi các câu lệnh SQL xuống database.
- ResultSet: là thành phần lưu trữ và biểu diễn một tập kết quả được trả về từ database thông qua việc dùng câu lệnh SQL là Select.
- SQLException: là class xử lý các lỗi xảy ra trong database.
3. Tạo một project
- Chuẩn bị database (ở đây dùng MySQL)

- Thêm một số dữ liệu vào bảng

- Cài đặt thư viện (dùng maven để quản lý chương trình java) thêm hai dependency vào file pom.xml
<dependencies> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>12.8.0.jre8</version> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.3.0</version> </dependency> </dependencies>
public class load { public static final String URL = "jdbc:mysql://localhost:3306/accounting_system?user=root"; public static final String USER = "root"; public static final String PASSWORD = "123456"; public static final Connection CONNECTION = getCONNECTION(); public static Connection getCONNECTION(){ try{ return DriverManager.getConnection(URL, USER, PASSWORD); } catch (Exception e){ System.out.println(e.getMessage()); } return null; } }