1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Jdbc Api.pptx

25 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề JDBC API
Tác giả Nguyễn Thị Hồng Ngọc, Trần Thảo Quyên, Phạm Trần Dạ Thảo, Nguyễn Đình Tuấn, Ngô Nhựt Trường
Chuyên ngành IS216.O23
Thể loại Presentation
Định dạng
Số trang 25
Dung lượng 73,79 MB

Nội dung

Nó đại diện cho các lớp và các giao diện interface mà 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

Trang 1

JDBC API

IS216.O23 - GROUP 12

Trang 3

Nhóm trưởng Nguyễn Thị Hồng

Trang 4

VI Các thao tác cơ bản trên CSDL

III Các khái niệm cơ bản

V Kiểu dữ liệu SQL và kiểu dữ liệu JAVA

IV Kết nối CSDL với JDBC

JDBC API

I Giới thiệu

II Kiến trúc JDBC

Trang 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

Trang 6

Nó đại diện cho các lớp và

các giao diện (interface) mà

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Ì?

Trang 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

Java.sql

Javax.sql

I.1 JDBC API LÀ GÌ?

Trang 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 toà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

Trang 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:

Trang 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:

Trang 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

Trang 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

Trang 13

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

2 JDBC URL

1 JDBC Driver

Trang 14

• 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

Trang 15

III.1 JDBC DRIVER

Loại JDBC Driver: Có 4 loại JDBC

Driver chính:

o Type-1 Driver (JDBC-ODBC

Bridge): Trình điều khiển này hoạt

động như một cầu nối giữa JDBC và

ODBC Nó chuyển đổi các cuộc gọi

JDBC thành các cuộc gọi ODBC và

sau đó gửi yêu cầu đến trình điều

khiển ODBC Nó dễ sử dụng nhưng

thời gian thực thi chậm

Trang 16

III.1 JDBC DRIVER

o Type-2 (Native API Partly Java

Driver): Trình điều khiển này sử

dụng JNI (Java Native Interface) để

gọi API cụ thể của cơ sở dữ liệu từ

bên ngoài Nó nhanh hơn so với loại

trình điều khiển Type-1, nhưng yêu

cầu thư viện native và làm tăng chi

phí ứng dụng

Trang 17

III.1 JDBC DRIVER

o Type-3 (Network Protocol Driver):

Trình điều khiển loại này giao tiếp

với máy chủ trung gian JDBC bằng

giao thức mạng độc quyền Phần

mềm trung gian này dịch giao thức

mạng thành các cuộc gọi dành

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

Trang 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

yê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

Trang 19

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: sqljdbc

o Oracle: ojdbc

Trang 20

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

VARCHAR Java.lang.String LONGVARCHAR Java.lang.String DATE Java.sql.Date TIME  Java.sql.Time TIMESTAMP Java.sql.Timestamp

SQL Type Java Type BINARY byte[]

VARBINARY byte[]

LONGVARBINARY byte[]

BLOB Java.sql.Blob CLOB Java.sql.Clob ARRAY Java.sql.Array REF Java.sql.Ref STRUCT Java.sql.Struct

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

JAVA

Trang 21

Java Type SQL Type

Việc chuyển đổi từ kiểu dữ liệu Java sang SQL sẽ tương tự, tuy

nhiên sẽ có một số điểm khác sau:

Trang 23

· Java.sql.Statement

- Statement là một trong ba lớp JDBC cơ bản dùng để thể hiện một câu lệnh SQL

- Mọi thao tác trên CSDL được thực hiện thông qua ba phương thức của lớp

statement:

-> Phương thức executeQuery(): nhận vào một tham số là chuỗi nội dung câu

lệnh SQL và trả về một đối tượng kiểu ResultSet Phương thức này được sử dụng

trong các trường hợp câu lệnh SQL có trả về các kết quả trong CSDL

-> 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

Trang 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

Trang 25

CÁC BẠN!

Bạn có câu hỏi gì không?

CẢM ƠN

Ngày đăng: 16/06/2024, 21:28

w