Tải bản đầy đủ (.pptx) (25 trang)

Jdbc Api.pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (15.86 MB, 25 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

JDBC API

IS216.O23 - GROUP 12

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>Nhóm trưởng Nguyễn Thị Hồng </small>

<small>Phạm Trần Dạ Thảo</small>

<small>Trần Thảo Quyên</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

I. GIỚI THIỆU

1. JDBC API là gì?

2. Tại sao sử dụng JDBC API?

3. Các thành phần của JDBC

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

- Thuật ngữ JDBC là viết tắt của Java Database Connectivity. JDBC là một

thông số kỹ thuật từ Sun Microsystems. JDBC là một API tiêu chuẩn được sử

dụng để kết nối và truy cập dữ liệu từ các hệ cơ sở dữ liệu quan hệ (RDBMS) khác nhau như MySQL, Oracle, SQL

Server, v.v trong các ứng dụng Java.

JDBC API bao gồm một tập hợp các lớp và giao diện cho phép ứng dụng Java thực hiện các hoạt động như thiết lập kết nối đến cơ sở dữ liệu, thực hiện truy vấn SQL, xử lý kết quả truy vấn và quản lý các tài nguyên cơ bản như kết nối và câu lệnh.

I.1. JDBC API LÀ GÌ?

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Phiên bản JDBC API mới nhất hiện nay là 4.3, là một thành phần trong Java SE, bao gồm 2 gói package: Chứa các lớp là giao diện cơ sở của JDBC API. Đây là gói chính trong JDBC API và được sử dụng rộng rãi trong

các ứng dụng Java để thực hiện các thao tác cơ bản với cơ sở dữ liệu

Chứa các lớp và giao diện mở rộng. Đây là gói bổ sung cung cấp các

thành phần liên quan đến quản lý kết nối và nguồn dữ liệu, tối ưu hiệu suất khi làm việc với cơ sở dữ liệu

I.1. JDBC API LÀ GÌ?

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

I.2. TẠI SAO SỬ DỤNG JDBC API?

- Trước JDBC, ODBC API là một database API được sử dụng để kết nối và thực hiện truy vấn với cơ sở dữ liệu. Nhưng, ODBC API sử dụng

trình điều khiển ODBC được viết bằng ngôn

ngữ C (tức là nền tảng phụ thuộc và khơng an tồn). Do đó, Java đã định nghĩa API của chính nó (JDBC API) sử dụng trình điều khiển JDBC

(viết bằng ngơn ngữ Java).

- JDBC API cung cấp cơ chế cho phép một chương trình viết bằng Java có khả năng độc lập với các hệ cơ sở dữ liệu, có khả năng truy cập đến các hệ cơ sở dữ liệu khác nhau mà khơng cần viết lại chương trình. JDBC đơn giản hóa việc tạo và thi hành các câu truy vấn SQL trong chương trình.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Driver Manager: Lớp này quản lý các Database Driver. Ánh xạ các yêu cầu kết nối từ ứng dụng Java với Data driver thích hợp bởi sử dụng giao thức kết nối phụ.

Driver: Interface này xử lý các kết nối với Database Server. Hiếm khi, bạn tương tác trực tiếp với các đối tượng Driver này. Thay vào đó, bạn sử dụng các đối tượng DriverManager để quản lý các đối tượng kiểu này.

Connection: Đối tượng Connection biểu diễn ngữ cảnh giao tiếp. Interface này chứa nhiều phương thức đa dạng để tạo kết nối với một Database.

I.3. CÁC THÀNH

PHẦN CỦA JDBC API:

JDBC API cung cấp các Class và Interface sau:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Statement: Bạn sử dụng các đối tượng được tạo từ Interface này để đệ trình các lệnh SQL tới Database. Ngoài ra, một số Interface kết thừa từ nó cung chấp nhận thêm các tham số để thực thi các thủ tục đã được lưu trữ.

ResultSet: Các đối tượng này giữ dữ liệu được thu

nhận từ một Database sau khi bạn thực thi một truy vấn SQL. Nó nóng vai trị như một Iterator để cho

phép bạn vọc qua dữ liệu của nó.

SQLException: Lớp này xử lý bất cứ lỗi nào xuất hiện trong khi làm việc với Database.

I.3. CÁC THÀNH

PHẦN CỦA JDBC API:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

II. KIẾN TRÚC JDBC

Kiến trúc JDBC tương tự như kiến trúc ODBC do Microsoft xây

dựng. Theo kiến trúc này các thao tác liên quan đến cơ sở dữ liệu trong chương trình được thực hiện thơng qua các JDBC API. Sau đó các JDBC API sẽ truyền các yêu cầu của chương trình đến bộ quản lý trình điều khiển JDBC, là bộ phận có nhiệm vụ lựa chọn trình

điều khiển thích hợp để có thể làm việc với cơ sở dữ liệu cụ thể mà chương trình muốn kết nối.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Kiến trúc của JDBC bao gồm hai tầng chính:

Bao gồm các lớp và giao diện được sử dụng để thực hiện

các thao tác với cơ sở dữ liệu. Là một phần mềm trung gian giúp kết nối giữa ứng dụng Java và cơ sở dữ liệu. Nó có nhiệm vụ chuyển đổi các yêu cầu từ ứng dụng Java thành các yêu cầu mà cơ sở dữ liệu có thể hiểu được và chuyển đổi lại các kết quả từ cơ sở dữ liệu thành các đối tượng Java.

JDBC API

DBC Driver API

II. KIẾN TRÚC JDBC

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

III. CÁC KHÁI NIỆM CƠ BẢN

2. JDBC URL

1. JDBC Driver

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

III.1. JDBC DRIVER

• Khái niệm: JDBC Driver (hay cịn gọi là trình điều khiển JDBC) là một thư viện phần mềm đóng vai trị trung gian giữa ứng dụng Java và hệ quản trị cơ sở dữ liệu (DBMS). Nó cung cấp các lớp và phương thức cho phép ứng dụng Java kết nối, thao tác và truy xuất dữ liệu từ DBMS một cách độc lập với nền tảng và DBMS cụ thể.

• Chức năng chính:

• Kết nối: Thiết lập kết nối giữa ứng dụng Java và DBMS.

• Thực thi truy vấn: Gửi các câu lệnh SQL đến DBMS và nhận kết quả. • Xử lý dữ liệu: Chuyển đổi dữ liệu giữa định dạng Java và định dạng

của DBMS.

• Quản lý kết nối: Đóng kết nối và giải phóng tài nguyên khi không sử dụng.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

riêng cho từng cơ sở dữ liệu. Ưu

điểm của nó là độc lập với hệ cơ sở dữ liệu, cho phép chuyển đổi giữa các database khác nhau. Tuy nhiên nhược điểm là hoạt động chậm do có nhiều cuộc gọi mạng cần thực hiện.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

III.1. JDBC DRIVER

o Type-4 (Thin Driver): Trình điều khiển này cịn được gọi là trình điều khiển Java thuần túy vì nó tương tác trực tiếp với cơ sở dữ liệu. Nó khơng u cầu bất kỳ thư viện riêng nào cũng như không cần máy chủ trung gian. Nó có hiệu suất tốt hơn so với các trình điều khiển khác, nhưng

tương đối chậm do tăng số lượng cuộc gọi mạng.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

III.1. JDBC DRIVER

· Lựa chọn JDBC Driver: Lựa chọn loại JDBC Driver phù hợp phụ thuộc vào các yếu tố như:o Hệ điều hành

o DBMS

o Nhu cầu của ứng dụng

· Mỗi DBMS đều có JDBC Driver riêng, ví dụ:o MySQL: mysql-connector-java

o SQL Server: sqljdbco Oracle: ojdbc

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

V. KIỂU DỮ LIỆU SQL VÀ KIỂU DỮ LIỆU JAVA

<small>SQL TypeJava TypeBITBoolean </small>

<small>SQL TypeJava Type</small>

<small>SQL TypeJava TypeBINARYbyte[]</small>

BẢNG CHUYỂN ĐỔI TỪ KIỂU DỮ LIỆU SQL SANG JAVA

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<small>Java TypeSQL Type</small>

<small>Java.lang.String</small> <sup>VARCHAR or </sup><small>LONGVARCHARbyte[]</small> <sup>VARBINARY or </sup>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

VI. CÁC THAO TÁC CƠ BẢN TRÊN

CSDL

1. Các lớp cơ bản

2. Ví dụ truy vấn CSDL

3. Ví dụ cập nhật CSDL

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

-> Phương thức executeUpdate(): cũng nhận vào một tham số là chuỗi nội dung câu lệnh SQL. Tuy nhiên phương thức này chỉ sử dụng được đối với các cây lệnh cập nhật nội dung SQL. Kết quả trả về là số dòng bị tác động bởi câu lệnh SQL

-> Phương thức execute(): là trường hợp tổng quát của hai phương thức trên, nhận vào chuỗi nội dung câu lệnh SQL (truy vấn hoặc cập nhật). Nếu kết quả của câu lệnh là các dòng trong CSDL thì phương thức trả về giá trị true, ngược lại trả về giá trị false. Trong trường hợp giá trị true, có thể dùng phương thức getResultSet() để lây các dòng kết quả trả về

VI.1. CÁC LỚP CƠ BẢN

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

VI.1. CÁC LỚP CƠ BẢN

Đối tượng resultset là các dòng dữ liệu trả về của câu lệnh truy vấn CSDL. Lớp này cung cấp các phương thức để rút trích các cột trong từng dịng kết quả trả về.

- Tất cả các phương thức đều có dạng: getType(int | String) trong đó tham số có thể là stt của cột hoặc tên cột cần lấy nội dung. VD:

getInt(int columnIndex) hoặc getInt(String columnLabel)

- Tại một thời điểm chỉ có thể thao tác trên một dòng của resultset. Để thao tác trên dòng tiếp theo sử dụng phương thức next(). Phương thức trả về giá trị true trong trường hợp có dịng tiếp theo, ngược lại trả về false.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

CÁC BẠN!

<small>Bạn có câu hỏi gì khơng?</small>

CẢM ƠN

</div>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×