Tải bản đầy đủ (.pdf) (44 trang)

LẬP TRÌNH JAVAJDBC CƠ BẢN docx

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 (2.4 MB, 44 trang )

LẬP TRÌNH JAVA
Nguyễn Hoàng Anh –
ĐHKHTN 2011
JDBC CƠ BẢN
(JAVA DATABASE CONNECTIVITY)
Nội dung
 Giới thiệu JDBC
 Một số Class và Interface của JDBC API thường dùng
 Một số kỹ thuật cơ bản sử dụng JDBC
– Đăng ký driver, Mở & đóng kết nối cơ sở dữ liệu
– Thực hiện lấy, xóa, cập nhật, thêm dữ liệu
– ExecuteBath
– Xử lý lỗi và ngoại lệ
– Transaction
– Gọi Store Procedure
2
GIỚI THIỆU JDBC
3
JDBC
 JDBC (Java database connectivity) cung cấp cho java
developer tập các interface chuẩn dùng để truy xuất
dữ liệu quan hệ.
 JDBC được phát triển bởi JavaSoft


4
Kiến trúc JDBC
 Khi làm việc với JDBD, java developer sẽ làm việc
như nhau đối với các hệ cơ sở dữ liệu khác nhau.
 Java developer không phụ thuộc vào một hệ cơ sở dữ
liệu cụ thể nào.


 Java developer không cần phải quan tâm đến sự khác
nhau khi giao tiếp với các HQTCSDL khác nhau.

5
Kiến trúc JDBC
6
Java Application
JDBC Driver Manager
JDBC Drivers
Database
JDBC API
JDBC Driver API
Kiến trúc JDBC
7
Java Application
JDBC Driver Manager
SQLServer
Driver
MySQL
Driver
Oracle
Driver
ODBC Bridge
Driver
DB2
Driver
ODBC Bridge
Manager
Access
Driver

dBase
Driver
Access
dBase
SQL Server
MySQL
Oracle
DB2
JDBC
Java Application
1. Mở kết nối
2. Gửi SQL
3. Rút trích dữ liệu
4. Đóng kết nối
DBMS
1. Tạo phiên kết nối
2. Thực thi SQL
3. Trả kết quả
4. Đóng phiên kết nối
8
JDBC API
9
JDBC Interfaces
 Class và Interface của JDBC API thuộc gói java.sql
 DriverManager dùng để nạp các driver và tạo
Connection đến cơ sở dữ liệu.
 Driver: Driver của cơ sở dữ liệu, mỗi JDBC Driver
đều cài đặt lại Interface này.
 Connection :Thiết lập một Connection đến cơ sở dữ
liệu và cho phép tạo các Statement .

 Statement: Gắn kết với một connection đến cơ sở dữ
liệu và cho phép thực thi các câu lệnh SQL.
CallableStatement tương tự Statement nhưng áp
dụng cho Store procedures.












10
JDBC API
 PreparedStatement: Tương tự như Statement nhưng
áp dụng cho Precompiled SQL.
 ResultSet: Cung cấp thông tin rút trích từ cơ sở dữ
liệu , cho phép truy xuất các dòng dữ liệu.
 ResultSetMetaData: Cung cấp các thông tin như kiểu
dữ liệu và các thuộc tính trong Resultset.
 DatabaseMetaData: Cung cấp các thông tin của cơ sở
dữ liệu kết nối.
 SQLException: Cung cấp thông tin các ngoại lệ xảy ra
khi tương tác với cơ sở dữ liệu.











11
JDBC API
12
DriverManager
Connection
Connection
Connection
Statement
Statement
ResultSet
ResultSet
MỘT SỐ KỸ THUẬT CƠ BẢN
SỬ DỤNG JDBC
13
Một số kỹ thuật cơ bản sử dụng JDBC
 Đăng ký driver
 Mở & đóng kết nối cơ sở dữ liệu
 Thực hiện lấy, xóa, cập nhật, thêm dữ liệu
 ExecuteBath
 Xử lý lỗi và ngoại lệ
 Transaction
 Gọi Store Procedure

14
Đăng ký Driver - MySQL
 Bước 1: Thêm thư viện JDBC Driver vào ứng dụng



 Bước 2: Đăng ký Driver - MySQL
– Cách 1: Class.forName :
Class.forName(“org.gjt.mm.mysql.Driver”);
– Cách 2: DriverManager.registerDriver
Driver driver = new org.gjt.mm.mysql.Driver()
DriverManager.registerDriver(driver);
15
Mở & đóng kết nối cơ sở dữ liệu
 Đối tượng Connection được tạo từ getConnection của DriverManager
– Connection getConnection (String url);
– Connection getConnection (String url, String user, String password);
– Connection getConnection (String url, java.util.Properties info);
16
Mở kết nối cơ sở dữ liệu - MySQL
17
JDBC
Java
Application
MYSQL
DBMS
QLNV
Port 3306
URL jdbc:mysql://localhost:3306/BookOnline
Domain localhost

Username root
Password root
Username root
Password root
Driver MySQL JDBC Driver
Cơ sở dữ liệu BookOnline
18
MaDanhMuc: Auto Increment
Mở & đóng kết nối cơ sở dữ liệu - MySQL
19
1

2

3

4

5

6

7

8

9

10


11

12

13

14

15

16

17

18

19

20

import
java.sql.Connection; import java.sql.Driver;
import
java.sql.DriverManager; import java.sql.SQLException;
import
java.util.Properties;
public
class TestJDBC {

public static void main(String[] args) {


try {

Driver driver = new org.gjt.mm.mysql.Driver();

DriverManager.registerDriver(driver);

String conString="jdbc:mysql://localhost:3306/BookOnline";


Properties info = new Properties();

info.setProperty("characterEncoding", "utf8");

info.setProperty("user", "root");

info.setProperty("password", "root");

Connection connection =

DriverManager.getConnection(conString, info);

. . .

connection.close();

} catch (SQLException ex) { System.out.println(ex);}

}
}


Các câu lệnh SQL
 SELECT : Truy vấn dữ liệu từ bảng
 DELETE : Xóa dữ liệu từ bảng
 UPDATE : Cập nhật dữ liệu vào bảng
 INSERT : Thêm dữ liệu vào bảng
 …



20
-->

×