1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC

43 114 0

Đ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

Định dạng
Số trang 43
Dung lượng 2,31 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC cung cấp cho người học các kiến thức: Giới thiệu JDBC, một số Class và Interface của JDBC API thường dùng, các bước thực hiện truy cập CSDL sử dụng JDBC,... Mời các bạn cùng tham khảo.

Trang 1

Phát triển UD CSDL 2

Lập trình Java kết nối với CSDL bằng JDBC

Trang 2

JAVA DATABASE CONNECTIVITY

Giới thiệu JDBC

Một số Class và Interface của JDBC API thường dùng

Các bước thực hiện truy cập CSDL sử dụng JDBC

Bước 1: Đăng ký driver

Bước 2: Tạo đối tượng kết nối đến CSDL

Bước 3: Tạo đối tượng để thực hiện các lệnh thao tác lên CSDL & Xây dựng câu lệnh tương ứng (đọc,thêm, xóa, sửa)

Trang 3

JDBC ( J ava D ata b ase C onnectivity) 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.

Trang 4

Kiến trúc JDBC

Khi làm việc với JDBC, 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

Trang 5

Kiến trúc JDBC

Trang 7

Hoạt động của JDBC

Trang 8

JDBC API

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

Trang 9

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

Trang 10

JDBC API

Trang 11

Một số bước kỹ thuật cơ bản sử dụng JDBC

Bước 1: Đăng ký driver

Bước 2: Tạo đối tượng kết nối đến CSDL

Bước 3: Tạo đối tượng để thực hiện các lệnh thao tác lên CSDL & Xây dựng câu lệnh tương ứng (đọc,thêm, xóa, sửa)

Bước 4: Thực hiện lệnh

Bước 5: Xử lý kết quả trả về (optional)

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

Trang 12

Bước 1: Đăng ký driver JDBC

Chuẩn bị driver tương ứng với HQTCSDL & thực hiện đăng ký.

Đăng ký driver MySQL:

Chuẩn bị driver: download mysql-connector-java-5.1.22.zip

Trang 13

Bước 2: Tạo & mở kết nối đến CSDL

Trang 14

Bước 2: Tạo & mở kết nối đến CSDL

Sử dụng phương thức getConnection của DriverManager

Một số cú pháp:

Connection getConnection (String url);

Connection getConnection (String url, String user, String password);

Connection getConnection (String url, java.util.Properties info);

Trang 15

Bước 2: Tạo & mở kết nối đến CSDL

Port: 3306 Domain: localhost Username:  root

Password:  root

Trang 16

    public static void 

      //3. T o đ i tạ ố ượng 

Statement đ  th c hi n thao ể ự ệ

Trang 17

Bước 3: Tạo đối tượng để thực thi và chuẩn bị các lệnh SQL

Sử dụng phương thức createStatement () của đối tượng kết nối: Chuẩn bị các 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

Ví dụ:

Statement statement = connection createStatement ();

String sql = " SELECT * FROM NHANVIEN ";

Query (Đọc)

Update (Thay đổi)

Trang 18

Bước 3: Tạo đối tượng để thực thi và chuẩn bị các lệnh SQL

public class DemoJDBC {

    public static void 

      //3. T o đ i tạ ố ượng 

Statement đ  th c hi n thao ể ự ệ

Trang 19

Bước 4: Thực thi SQL

Sử dụng một số cú pháp:

//Thực thi câu truy vấn (SELECT) Kết quả trả về là một tập dữ liệu ResultSet

ResultSet statement.executeQuery (String sql)

//Thực thi câu lệnh cập nhật dữ liệu (Thêm, xóa, sửa)

int statement.executeUpdate (String sql)

//Thực thi câu lệnh SQL nói chung (thêm, xóa, sửa, truy vấn, …)

boolean statement.execute (String sql)

Trang 20

    public static void 

      //3. T o đ i tạ ố ượng 

Statement đ  th c hi n thao ể ự ệ

Trang 21

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

Tùy vào kết quả trả về của việc thực thi câu lệnh:

ResultSet statement.executeQuery (String sql)

🡪 Kết quả trả về là một tập dữ liệu của câu truy vấn: Cần duyệt qua tập dữ liệu này để xử lý (hiển thị, …)

int statement.executeUpdate (String sql)

🡪 Kết quả trả về là số dòng bị ảnh hưởng của việc thêm, xóa, sửa.

boolean statement.execute (String sql)

🡪Tùy vào câu lệnh SQL sẽ có cách thức xử lý tương ứng

Trang 22

5a Lấy dữ liệu từ ResultSet

Lấy kết quả từ câu truy vấn:

Sử dụng next() để đến dòng kế tiếp.

ResultSet rs = statement.executeQuery(sql); while ( rs.next() ) {

int c1= rs getInt (" Column1 ");

String c2 = rs getString (" Column2 ");

… }

Column1 Column2 Column3

ResultSet rs = statement executeQuery (sql)

Ho c  ặ

statement execute  (sql) ResultSet rs = statement getResultSet ()

rs.next()

ResultSet

Trang 23

5a Lấy dữ liệu từ bảng PHONGBAN

Trang 24

5a Lấy dữ liệu từ bảng NHANVIEN

Trang 25

5b Xóa dữ liệu bảng PHONGBAN

Trang 26

5b Xóa dữ liệu bảng NHANVIEN

Trang 27

5b Sửa dữ liệu bảng PHONGBAN

= '

% s

'       w h e r e   M A P H G    

=  

% d

"

 

,   t e n p h o n g ,   m a p h o n g )

;         int n = 

Trang 28

5b Sửa dữ liệu bảng NHANVIEN

=   '

% s

'   ,  

        P H A I  

=   '

% s

' ,         L U O N G

=  

% f

      w h e r e   M A N V    

=  

% d

"

 

,   h o t e n ,   p h a i ,   l u o n g ,   m a n v )

;         int n = 

Trang 29

5b Thêm dữ liệu bảng NHANVIEN

Trang 30

5b Thêm dữ liệu bảng PHONGBAN

Trang 31

5b Thêm dữ liệu bảng PHONGBAN

5

Trang 34

        try {

      //1. Đăng ký driver và 

t o k t n i đ n CSDL      ạ ế ố ế      //2. T o k t n i đ n ạ ế ố ếCSDL

       …

      //6. Đóng k t n iế ố

        } catch (SQLException ex) {

      System.out.println(ex);

        }

    }

}

Trang 35

      String sql = "INSERT INTO T(X, Y) VALUES 

( ? ,  ? )";

      PreparedStatement 

statement = 

connection.prepareStatement(sql, 

Statement.RETURN_GENERATED_KEYS);

      connection.close();

        } catch (SQLException ex) {

      System.out.println(ex);        }

    }

Trang 36

Connection con 

=DriverManager.getConnection( cs, info);

try{ 

con.setAutoCommit(false);

Statement statement1= 

con.createStatement();

Statement statement2= 

con.createStatement(); 

statement1.executeUpdate(sql1);

statement2.executeUpdate(sql2);

con.commit();

}catch (SQLException ex){

con.rollBack();}finally{

con.close();

}

} catch (SQLException ex) { //X  lý l i } ử ỗ

Trang 37

statement2.executeUpdate(sql2);

if(đi u ki n commitề ệ ){

Trang 38

con.setAutoCommit(false);

Statement statement1= con.createStatement();Statement statement2= con.createStatement(); 

Savepoint save1 = 

con.setSavepoint();

statement1.executeUpdate(sql1);

Trang 40

CallableStatement - Xử lý Store Procedure

Trang 41

CallableStatement - Xử lý Store Procedure

Trang 42

SET maDanhMuc = LAST_INSERT_ID();

tenDanhMuc);

statement.registerOutParameter(2,Types.INTEGER);

statement.execute();

int maDanhMuc = 

statement.getInt(2);

System.out.println(maDanhMuc); 

Ngày đăng: 11/07/2020, 04:16

HÌNH ẢNH LIÊN QUAN

5a. Lấy dữ liệu từ bảng PHONGBAN - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5a. Lấy dữ liệu từ bảng PHONGBAN (Trang 23)
5b. Xóa dữ liệu bảng PHONGBAN - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Xóa dữ liệu bảng PHONGBAN (Trang 25)
5b. Xóa dữ liệu bảng NHANVIEN - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Xóa dữ liệu bảng NHANVIEN (Trang 26)
5b. Sửa dữ liệu bảng PHONGBAN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 … - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Sửa dữ liệu bảng PHONGBAN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 … (Trang 27)
5b. Sửa dữ liệu bảng NHANVIEN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5   …       Statement statement =  connection.createStatement();       String sql =  String.format("update NHANVIEN        s et  HOTEN= ' % s '   ,           P H A I   =   ' % s ' , - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Sửa dữ liệu bảng NHANVIEN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5   …       Statement statement =  connection.createStatement();       String sql =  String.format("update NHANVIEN        s et  HOTEN= ' % s '   ,           P H A I   =   ' % s ' , (Trang 28)
5b. Thêm dữ liệu bảng NHANVIEN - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Thêm dữ liệu bảng NHANVIEN (Trang 29)
5b. Thêm dữ liệu bảng PHONGBAN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 …      String tenphong = …      Statement statement = connection.createStatement();       String sql =  String.format ("INSERT INTO PHONGBAN (TENPHONG) VALUES ('%s' & - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Thêm dữ liệu bảng PHONGBAN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 …      String tenphong = …      Statement statement = connection.createStatement();       String sql =  String.format ("INSERT INTO PHONGBAN (TENPHONG) VALUES ('%s' & (Trang 30)
5b. Thêm dữ liệu bảng PHONGBAN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 Statement statement = connection.createStatement();            String[] arrPhong = {“PB1", “PB2", "PB3"}; - Bài giảng Lập trình Java - Chương 3: Lập trình Java kết nối với CSDL bằng JDBC
5b. Thêm dữ liệu bảng PHONGBAN 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 Statement statement = connection.createStatement();            String[] arrPhong = {“PB1", “PB2", "PB3"}; (Trang 31)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN