JDBC - Các loại trình điều khiển
Trình điều khiển JDBC là gì?
Trình điều khiển JDBC triển khai các giao diện đã xác định trong API JDBC, để tương tác với máy chủ cơ sở dữ liệu của bạn.
Ví dụ: sử dụng trình điều khiển JDBC cho phép bạn mở các kết nối cơ sở dữ liệu và tương tác với nó bằng cách gửi SQL hoặc lệnh cơ sở dữ liệu sau đó nhận kết quả bằng Java.
Các java.sql gói mà tàu với JDK, chứa các lớp khác nhau với những hành vi của họ được xác định và implementaions thực tế của họ được thực hiện trong trình điều khiển của bên thứ ba. Các nhà cung cấp bên thứ ba triển khai giao diện java.sql.Driver trong trình điều khiển cơ sở dữ liệu của họ.
Các loại trình điều khiển JDBC
Việc triển khai trình điều khiển JDBC khác nhau do có nhiều hệ điều hành và nền tảng phần cứng mà Java hoạt động. Sun đã chia các loại triển khai thành bốn loại, Loại 1, 2, 3 và 4, được giải thích bên dưới -
Loại 1: Trình điều khiển cầu JDBC-ODBC
Trong trình điều khiển Loại 1, cầu nối JDBC được sử dụng để truy cập trình điều khiển ODBC được cài đặt trên mỗi máy khách. Sử dụng ODBC, yêu cầu cấu hình trên hệ thống của bạn Tên nguồn dữ liệu (DSN) đại diện cho cơ sở dữ liệu đích.
Khi Java lần đầu tiên ra mắt, đây là một trình điều khiển hữu ích vì hầu hết các cơ sở dữ liệu chỉ hỗ trợ truy cập ODBC nhưng hiện nay loại trình điều khiển này chỉ được khuyến nghị sử dụng thử nghiệm hoặc khi không có sẵn phương án thay thế khác.
Cầu JDBC-ODBC đi kèm với JDK 1.2 là một ví dụ điển hình về loại trình điều khiển này.
Loại 2: JDBC-Native API
Trong trình điều khiển Loại 2, các lệnh gọi API JDBC được chuyển đổi thành các lệnh gọi API C / C ++ gốc, là lệnh duy nhất cho cơ sở dữ liệu. Các trình điều khiển này thường được cung cấp bởi các nhà cung cấp cơ sở dữ liệu và được sử dụng theo cách tương tự như Cầu JDBC-ODBC. Trình điều khiển dành riêng cho nhà cung cấp phải được cài đặt trên mỗi máy khách.
Nếu chúng tôi thay đổi Cơ sở dữ liệu, chúng tôi phải thay đổi API gốc, vì nó dành riêng cho một cơ sở dữ liệu và hiện tại chúng hầu như đã lỗi thời, nhưng bạn có thể nhận ra tốc độ tăng một chút với trình điều khiển Loại 2, vì nó loại bỏ chi phí của ODBC.
Trình điều khiển Giao diện Cuộc gọi Oracle (OCI) là một ví dụ về trình điều khiển Loại 2.
Loại 3: Java thuần JDBC-Net
Trong trình điều khiển Loại 3, cách tiếp cận ba tầng được sử dụng để truy cập cơ sở dữ liệu. Máy khách JDBC sử dụng các ổ cắm mạng tiêu chuẩn để giao tiếp với máy chủ ứng dụng phần mềm trung gian. Sau đó, thông tin ổ cắm được máy chủ ứng dụng phần mềm trung gian dịch sang định dạng cuộc gọi theo yêu cầu của DBMS và được chuyển tiếp đến máy chủ cơ sở dữ liệu.
Loại trình điều khiển này cực kỳ linh hoạt, vì nó không yêu cầu mã được cài đặt trên máy khách và một trình điều khiển duy nhất thực sự có thể cung cấp quyền truy cập vào nhiều cơ sở dữ liệu.
Bạn có thể coi máy chủ ứng dụng như một "proxy" JDBC, nghĩa là nó thực hiện các cuộc gọi cho ứng dụng khách. Do đó, bạn cần một số kiến thức về cấu hình của máy chủ ứng dụng để sử dụng hiệu quả loại trình điều khiển này.
Máy chủ ứng dụng của bạn có thể sử dụng trình điều khiển Loại 1, 2 hoặc 4 để giao tiếp với cơ sở dữ liệu, hiểu các sắc thái sẽ tỏ ra hữu ích.
Loại 4: 100% Java thuần túy
Trong trình điều khiển Loại 4, trình điều khiển dựa trên Java thuần túy giao tiếp trực tiếp với cơ sở dữ liệu của nhà cung cấp thông qua kết nối socket. Đây là trình điều khiển hiệu suất cao nhất có sẵn cho cơ sở dữ liệu và thường được cung cấp bởi chính nhà cung cấp.
Loại trình điều khiển này cực kỳ linh hoạt, bạn không cần phải cài đặt phần mềm đặc biệt trên máy khách hoặc máy chủ. Hơn nữa, các trình điều khiển này có thể được tải xuống động.
Trình điều khiển Connector / J của MySQL là trình điều khiển Loại 4. Do tính chất độc quyền của các giao thức mạng của họ, các nhà cung cấp cơ sở dữ liệu thường cung cấp các trình điều khiển loại 4.
Trình điều khiển nào nên được sử dụng?
Nếu bạn đang truy cập một loại cơ sở dữ liệu, chẳng hạn như Oracle, Sybase hoặc IBM, thì loại trình điều khiển được ưu tiên là 4.
Nếu ứng dụng Java của bạn đang truy cập nhiều loại cơ sở dữ liệu cùng một lúc, thì loại 3 là trình điều khiển được ưu tiên.
Trình điều khiển loại 2 hữu ích trong các trường hợp mà trình điều khiển loại 3 hoặc loại 4 chưa có sẵn cho cơ sở dữ liệu của bạn.
Trình điều khiển loại 1 không được coi là trình điều khiển cấp độ triển khai và thường chỉ được sử dụng cho mục đích phát triển và thử nghiệm.