Tải bản đầy đủ (.ppt) (47 trang)

SLIDE MÔN JAVA - CHƯƠNG 7 - TRUY CẬP CƠ SỞ DỮ LIỆU VỚI JDBC

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 (533.17 KB, 47 trang )

LẬP TRÌNH JAVA

Chương 7

TRUY CẬP CƠ SỞ
DỮ LIỆU VỚI JDBC
GV: Đoàn Thanh Sơn


Nội dung


Giới thiệu về JDBC



JDBC Drivers



Thiết lập kết nối Database



Tạo câu lệnh truy vấn



Thực thi câu truy vấn và xử lý kết quả




Ví dụ



Transaction

2/25


1. Giới thiệu về JDBC


Viết tắt của Java Database Connectivity



JDBC API là thư viện chứa các lớp và giao diện hỗ trợ lập trình viên
Java kết nối và truy cập đến các hệ cơ sở dữ liệu.



Các chức năng
• Thiết lập kết nối đến Database
• Tạo các câu lệnh truy vấn SQL
• Thực thi các câu lệnh truy vấn
• Xem và sửa đổi các kết quả truy vấn

3/25



Cấu trúc của JDBC


kiến trúc của JDBC gồm 2 tầng:
• tầng 1 là JDBC API: chuyển các câu lệnh
SQL cho bộ quản lý trình điều khiển
JDBC
• tầng 2 là các JDBC Driver thực hiện
nhiệm vụ liên hệ với trình điều khiển của
hệ quản trị cơ sở dữ liệu cụ thể.

4/25


2. JDBC Driver





Trình điều khiển JDBC là đoạn chương trình, do
chính nhà xây dựng hệ quản trị CSDL hoặc do nhà
cung ứng thứ ba cung cấp.
Có khả năng yêu cầu hệ quản trị CSDL cụ thể thực
hiện các câu lệnh SQL.
Danh sách các trình điều khiển JDBC cho các hệ
quản trị CSDL khác nhau được Sun cung cấp và cập
nhật liên tục tại địa chỉ:
/>


JDBC Driver


Có 4 loại JDBC Driver
• Loại 1: JDBC/ODBC
• Loại 2: Native-API
• Loại 3: Open Protocol-Net
• Loại 4: Proprietary-Protocol-Net


Loại 1: JDBC/ODBC




jdk hỗ trợ cầu nối jdbc-odbc.
sử dụng phổ biến trong những ngày đầu Java xuất
hiện.
Trình điều khiển loại này luôn được cung cấp kèm
trong bộ J2SE với tên:
sun.jdbc.odbc.JdbcOdbcDriver


Loại 2: Native API Driver






Chuyển các lời gọi của JDBC API sang thư viện hàm (API)
tương ứng với từng hệ CSDL cụ thể.
Do nhà xây dựng hệ CSDL cung cấp.
Để có thề thi hành chương trình cần phải có mã lệnh để làm việc
với hệ CSDL cụ thể kèm với chương trình.


Loại 3: JDBC-Net Driver





Chuyển các lời gọi JDBC API sang một dạng chuẩn độc lập với
các hệ CSDL. Sau đó chuyển sang lời gọi của hệ CSDL cụ thể
bởi 1 chương trình trung gian
Do các nhà cung ứng thứ 3
Không cần mã lệnh kèm theo và cùng một trình điều khiển để
truy cập đến nhiều hệ CSDL khác nhau


Loại 4: Native Protocol Driver


100% java



Có khả năng giao tiếp trực tiếp với hệ CSDL không cần chuyển đổi



JDBC API


JDBC API
• Phần lớn các API nằm trong 2 gói

java.sql
 javax.sql


• Được chứa trong Java SE và Java EE platform

11/25


JDBC API


JDBC API cung cấp các interface và class để thao tác dữ liệu
• DriverManager: quản lý các database driver
• Driver: xử lý giao tiếp với database server
• Connection: kết nối database
• Statement: tạo và thực thi các câu lệnh SQL
• ResultSet: lưu trữ và thao tác trên kết quả trả về
• SQLException: xử lý các ngoại lệ trong quá trình thao tác với
database

12/25



3. Các bước sử dụng JDBC


Bước 1: Thiết lập kết nối Database



Bước 2: Tạo câu lệnh truy vấn



Bước 3: Thực thi câu truy vấn



Bước 4: Xử lý kết quả trả về



Bước 5: Đóng kết nối

13/25


Bước 1: Thiết lập kết nối Database


Nạp các java package: sử dụng câu lệnh import
import java.sql.* ;




Đăng ký JDBC Driver: Trình điều khiển JDBC được nạp khi mã bytecode
của nó được nạp vào JVM. Có 2 cách:
•Sử dụng method: Class.forName(<driver name>)
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundException ex) {
System.out.println("Error");
}

14/25


Bước 1: Thiết lập kết nối Database
• Sử dụng DriverManager.registerDriver()
try {
Driver myDriver = new
oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver( myDriver );
}catch(ClassNotFoundException ex) {
System.out.println("Error");
}

15/25


Bước 1: Thiết lập kết nối Database



Xác định Database URL
• Được sử dụng để tạo kết nối đến Database
• Có thể chứa server, port, protocol…
RDBMS
MySQL

JDBC driver name
com.mysql.jdbc.Driver

URL format
jdbc:mysql://hostname/ databaseName

ORACLE

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@hostname:port
Number:databaseName

DB2

COM.ibm.db2.jdbc.net.DB2Driver

jdbc:db2:hostname:portNumber/database
Name

Sybase

com.sybase.jdbc.SybDriver


jdbc:sybase:Tds:hostname:
portNumber/databaseName

SQLSER
VER

com.microsoft.sqlserver.jdbc.SQL
ServerDriver

jdbc:sqlserver://
hostname:portNumber;databaseName

16/25


Bước 1: Thiết lập kết nối Database


Ví dụ
• SQL SERVER:
“jdbc:sqlserver://myserver:1433;databasename=Library”;
• Oracle thin driver
“jdbc:oracle:thin:@machinename:1521:dbname”

17/25


Bước 1: Thiết lập kết nối Database



Tạo đối tượng kết nối Connection: sử dụng 1 trong 3 cách
• DriverManager.getConnection(String url)
• DriverManager.getConnection(String url, String user, String
password)
• DriverManager.getConnection(String url, Properties info)
Chú ý: ném ra ngoại lệ SQLException

18/25


Bước 1: Thiết lập kết nối Database
• Ví dụ 1
Connection conn =DriverManager.getConnection(url);
• Ví dụ 2
Connection conn
=DriverManager.getConnection(url,"sa","123456");
• Ví dụ 3
Properties info = new Properties( );
info.put( "user", “sa" );
info.put( "password", “123456" );
Connection conn = DriverManager.getConnection(URL, info);

19/25


4. Ví dụ
Kết

nối với tập tin CSDL Access movies.mdb có một bảng tên Movies.


20/25


Ví dụ
Kết

nối với Microsoft Access thông qua cầu nối ODBC:

21/25


Ví dụ
Nhấn

vào nút Add, chọn trình điều khiển CSDL:

22/25


Ví dụ
Nhập

moviesDSN vào ô Data Source Name:

23/25


Ví dụ
Nhấn


Select và chọn tập tin CSDL cần tạo data source name:

24/25


Ví dụ
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class TestConnection{
public static void main(String args[]) {

Connection connection = null;
try { // load driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Loading the driver...");
} catch( Exception e ) { //driver,class not exist
e.printStackTrace( );
return; }

25/25


×